|
You last visited: Today at 10:40
Advertisement
SimpleSig - minimalistic signal/slots lib for C++
Discussion on SimpleSig - minimalistic signal/slots lib for C++ within the C/C++ forum part of the Coders Den category.
10/23/2013, 14:49
|
#31
|
elite*gold: 0
Join Date: Dec 2012
Posts: 255
Received Thanks: 110
|
Quote:
Originally Posted by Tasiro
Es ist also für eine Programmiersprache? Das ist dann ein anderes Thema. Ich kenne Lua nicht, wenn es aber schwach typisiert ist und eine automatische Speicherverwaltung sein Eigen nennt, müsste doch eigentlich irgendwo eine Referenz "hängen bleiben" und somit verhindern, dass deine Rückruf-Funktionen verworfen wird. Du müsstest dann doch nur noch testen, ob es wirklich Funktionen ist. Damit ist Rückrufen Genüge getan. Zumindest, wenn Lua die Verbindungen nicht selbst verwalten darf... Aber auch dann unterstützt deine Signal-Bibliothek das momentan nicht hinreichend, dass etwas kaputtgehen könnte - weder durch Lua, noch durch irgendjemanden sonst.
Angenommen, deine Verbindungen haben keinen intelligenten Zeiger oder eine sonstige Sicherungsmethode. Solange du mit deinen Signalen umgehst, wird das aber auch nur dann gefährlich, wenn du Lua die Kontrolle über Verbindungsobjekte übergibst. Diese sollten schließlich nur in dem Kontext eines Signals vorkommen und nicht darüber hinaus am Leben gelassen werden.
Das mache ich gerne, es würde mich freuen, geholfen zu haben.
Das war der 31.10., oder?
|
Für mein Script API muss ich halt sicher gehen, dass die Scriptautoren nichts böses machen können, da darf die Anwendung auch nicht crashen, wenn er das Verbindungsobjekt behält und damit arbeitet, aber das Signal schon zerstört wurde. Mit meinem momentanen Aufbau ist das ja kein Problem.
Ich warte einfach drauf bis MS mal Dreamspark aktualisiert. Da ist noch kein RTM drin. Der Launch von VS13 ist glaub ich irgendwann im November, aber RTM = Release...
boost::signals2 ist momentan nichtmal lauffähig unter VS2013, da es noch nen Compiler Bug gibt. Der MS Compiler bevorzugt nämlich variadische Template Überladungen vor einfachen Templates.
|
|
|
10/23/2013, 19:49
|
#32
|
elite*gold: 0
Join Date: Aug 2012
Posts: 236
Received Thanks: 94
|
Quote:
Originally Posted by Master674b
Für mein Script API muss ich halt sicher gehen, dass die Scriptautoren nichts böses machen können, da darf die Anwendung auch nicht crashen, wenn er das Verbindungsobjekt behält und damit arbeitet, aber das Signal schon zerstört wurde. Mit meinem momentanen Aufbau ist das ja kein Problem.
|
Du erlaubst also die manuelle Verwaltung von Verbindungen? Interessant. Warum?
Du brauchst std::weak_ptr nur, wenn du zulässt, dass Verbindungen Signale überleben - und die zugrundeliegenden Funktionsobjekte auch. Viel einfacher ist das mit Referenzen.
Was man alles falsch machen kann:
Code:
ConnectionRef f () {
return Signal ().connect (struct {
void operator () () {}
} ());
}
Würdest du so programmieren? Würdest du Lua die Macht geben, das zu tun?
Quote:
Originally Posted by Master674b
boost::signals2 ist momentan nichtmal lauffähig unter VS2013, da es noch nen Compiler Bug gibt. Der MS Compiler bevorzugt nämlich variadische Template Überladungen vor einfachen Templates.

|
Ah, noch ein Fehler?
|
|
|
10/23/2013, 19:54
|
#33
|
elite*gold: 0
Join Date: Dec 2012
Posts: 255
Received Thanks: 110
|
Quote:
Originally Posted by Tasiro
Du erlaubst also die manuelle Verwaltung von Verbindungen? Interessant. Warum?
Du brauchst std::weak_ptr nur, wenn du zulässt, dass Verbindungen Signale überleben - und die zugrundeliegenden Funktionsobjekte auch. Viel einfacher ist das mit Referenzen.
Was man alles falsch machen kann:
Code:
ConnectionRef f () {
return Signal ().connect (struct {
void operator () () {}
} ());
}
Würdest du so programmieren? Würdest du Lua die Macht geben, das zu tun?
Ah, noch ein Fehler?
|
Ne, aber der Scriptautor kann ein Signal erstellen (z.B. wenn er ein C++ Objekt erzeugt, dass ein Signal beinhaltet), daraus ein Verbindungsobjekt bekommen über connect und dann das Objekt, dass das Signal hält löschen aber das Verbindungsobjekt weiterverwenden. Zum Beispiel die connected() Funktion.
Jo gibt noch mehrere Fehler momentan :C
Das Problem ist, boost darf wieder Hacks einfügen, bis MS das gebacken bekommt. Wird wohl so drauf hinauslaufen.
|
|
|
10/23/2013, 21:48
|
#34
|
elite*gold: 0
Join Date: Aug 2012
Posts: 236
Received Thanks: 94
|
Quote:
Originally Posted by Master674b
Ne, aber der Scriptautor kann ein Signal erstellen (z.B. wenn er ein C++ Objekt erzeugt, dass ein Signal beinhaltet), daraus ein Verbindungsobjekt bekommen über connect und dann das Objekt, dass das Signal hält löschen aber das Verbindungsobjekt weiterverwenden. Zum Beispiel die connected() Funktion.
|
Du musst das Verbindungsobjekt ja nicht ebenfalls an Lua zurückgeben. Für gewöhnlich werden Rückruffunktionen dadurch wieder entfernt, dass diese erneut übergeben werden, nur dieses Mal einer anderen Funktion. Oder du sagst, dass das undefiniertes Verhalten ist, undefiniertes Verhalten gibt es sicher auch mit Lua allein. Willst du dich gegen Murphy absichern, oder gegen Machiavelli?
Quote:
Originally Posted by Master674b
Jo gibt noch mehrere Fehler momentan :C
Das Problem ist, boost darf wieder Hacks einfügen, bis MS das gebacken bekommt. Wird wohl so drauf hinauslaufen.
|
Die ändern das dafür auch in schön großen Paketen - alle paar Monate einmal.
|
|
|
 |
|
Similar Threads
|
[Selling] Minimalistic Design - GFX-Shop by Carfunkel
04/09/2013 - elite*gold Trading - 1 Replies
https://dl.dropbox.com/u/64993027/selling/1epvp%20 gfx%20store.pnghttps://dl.dropbox.com/u/64993027/s elling/2referenzen.pnghttps://dl.dropbox.com/u/649 93027/selling/3was%20noch%20kommt.pnghttps://dl.dr opbox.com/u/64993027/selling/4im%20einsatz.pnghttp s://dl.dropbox.com/u/64993027/selling/5im%20einsat z.png
|
Ton-Signal bei PN.
01/26/2013 - Metin2 - 9 Replies
Servus,
gibt es einen Hack, Bot der, wenn man eine PN bekommt, ein Signalton abgibt?
Weil ich oft nen Laden auf habe und was anderes vorhabe als alle 5 Minuten zu gucken ob ich PN't wurde..
|
Minimalistic UI
06/25/2011 - World of Warcraft - 2 Replies
Please close thread posted in invalid forum section.
Edit - You can find the post at http://www.elitepvpers.com/forum/wow-addons/126331 6-minamalistic-ui.html
|
Signal bei PN?
07/30/2010 - Metin2 - 22 Replies
Hayhou :D
Meine Frage ist ganz einfach, wie kann man es so einstellen, das man bei einer PN ein TonSignal bekommt??
Also mit Clientmodding....
Was bringts??
Ganz einfach, ich mekre wnen ich auf meinen Bot chars ne PN bekomme und die Bots fallen nicht auf
MFG
Bauch
|
Kein Signal am Monitor / No signal on screen
09/23/2009 - Technical Support - 2 Replies
Also mein Problem ist das wenn ich den Pc hochfahre keinen Signal an meinem TFT Monitor bekomme. Ich habe erst ein DVI Kabel verwendet, und dachte es würde vl. daran liegen und daher meinen alten Monitor per VGA angeschlossen mit dem gleichen Ergebnis. Mein PC ist einige Monate gestanden, davor hat es eigentlich funktioniert.
Was ich schon probiert habe:
-1 Ram Riegel in anderen Slot gesteckt und hochgefahren
-On Board Graka versucht zu verwenden
-Die eingebaute Graka versucht zu...
|
All times are GMT +1. The time now is 10:41.
|
|