Czy ktos z szanownego forum wie jak przeksztalcic ponizszy zapis w jezyku Pascal na jezyk C:
TMyEvent = procedure(Sender: TObject) of object;
Z gory dziekuje
Czy ktos z szanownego forum wie jak przeksztalcic ponizszy zapis w jezyku Pascal na jezyk C:
TMyEvent = procedure(Sender: TObject) of object;
Z gory dziekuje
W C się nie da, w C++ Builder:
TMyEvent event;
event = object->procedure;
nie myl typu z nazwą właściwości (przedrostek T w Delphi i C++ Builder oznacza, że symbol jest typem, a nie zmienną - taki standard nazewnictwa).
W BCB to by było tak:
typedef void __fastcall (__closure *TMyEvent)(System::TObject* Sender);
W C taki typ w ogóle nie może istnieć. Jest to podwójny wskaźnik - na metodę klasy oraz obiekt tej klasy czyli tak zwany "delgate" (rzadziej "closure"). W C nie ma klas [green] .
Kod który podałeś jest w języku Object Pascal.
ha pochrzaniłem interpretacje tego co napisał, ale ze mnie tępak.
@adf88: super masz rację, ale chyba się rozpędziłeś z tym "System::"
MarekR22 napisał(a)
ha pochrzaniłem interpretacje tego co napisał, ale ze mnie tępak.
@adf88: super masz rację, ale chyba się rozpędziłeś z tym "System::"
Nie bój nie bój, wiem co pisze :-P . W Delphi unit "System" jest automatycznie dołączany i siedzą w nim podstawowe rzeczy jak TObject. A w BCB unity są wrzucone w namespace'y o nazwie unitu.