[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

ANSI C++ og events



Jeg sidder og bikser med et C++ program som skal bruge events(callbacks).
Ideen er at jeg har en klasse som har en public variabel som brugeren af
klassen kan sætte til at pege på en funktion, som bliver kaldt af klassen
når noget bestemt sker.
Dette er også nemt nok hvis den funktion der skal kaldes er en ganske
almindelig C funktion, men jeg ville gerne have at det er en (ikke statisk)
funktion i en anden klasse, som bliver kaldt.
Heller ikke noget problem FORUDSAT at man ved hvilken klasse funktionen
tilhører. Så kan man bare gemme en pointer til klasse og en pointer til
funktionen, og kalde funktionen ved at bruge dem.
Men det eneste jeg ved om funktionen er at det er member funktion!
Så var det jeg tænkte at det kan Borland C++ Builder da finde ud af, for den
bruger lige så mange events som Delphi, så den må kunne give mig et hint til
hvordan man gør i ANSI C++.
Men det var åbenbart også et problem som Borland havde været ude for, fordi
de havde sprunget let og elefant hen over problemet og implementeret en
__closure variabel i deres compiler, som kunne det. Øv.
Og det kan jeg ikke bruge hvis det skal være ANSI C++ kompatibelt.
Jeg kan selvfølgelig altid bruge en almindelig C funktion som event og så
lade den kalde den rigtige funktion på den rigtige klasse, men det kan vist
kun blive rodet.
Så var det jeg tænkte at det må Hr. Stroustrup da have tænkt på, men efter
at have læst i hans C++ bog i et godt stykke tid må jeg erkende at det ikke
virker som om han har.
Tilsidst besluttede jeg mig for at skrive til SSLUG for
at høre om der var nogle andre der havde haft det problem, og var kommet
frem til en smart løsning, som jeg ikke havde tænkt på.

MVH
Peter Aagaard Kristensen



 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:08 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *