.| Autor | Beitrag |
|---|---|
|
000 01.04.2002, 20:49 Prefect |
Mmkay, ich bin ja inzwischen sogar so weit, daß ich freiwillig Exceptions verwende. Aber irgendwie stoße ich immer, wenn ich auf C++ umsteige um irgendwelche vertrackten Probleme zu lösen, auf ätzende Probleme, fehlende Features und was weiß ich... Mein Ziel: Ein Signal-Slot-System ähnlich wie bei Qt zu programmieren, wobei ich allerdings nicht auf einen externen MO-Compiler wie Qt zurückgreifen will. Bis jetzt sieht das Ganze so aus:
Dieses Makro SIGNAL ist schon der erste Punkt. Es ist ja wohl nicht möglich, eine komplette Parameterliste als einzelnen Parameter an ein Template zu übergeben, sehe ich das richtig? MainMenu ist ebenfalls indirekt von LObject abgeleitet. Nun gibt mir der Compiler aber auf der pButton->Clicked.Connect()-Zeile einen Fehler, da &MainMenu::Quit vom Typ (void (MainMenu::*)()) und nicht vom Typ (void (LObject::*)()) ist. Na toll. Irgendwie muß ich nun also casten. Ich habe zwei potentielle Lösungsansätze gefunden: 1) ein Makro, das Connect() verkapselt. Das würde so aussehen: 2) Connect() zu einer Templatefunktion machen, d.h. der Connect()-Aufruf sieht so aus: cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
001 02.04.2002, 13:46 Prefect |
Wen's interessiert: ich habe die Connect/Disconnect-Funktionen zu Templates gemacht. Jetzt funktioniert's bestens :) cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
002 02.04.2002, 17:41 anothergb02 |
Na siehst du °_° --Being in john Malkovich |
|
Profil || Suche |

