![]() |
RTTI - Methodenpointer durch Name rausfinden
Hi,
Ich hab ne Klasse
Delphi-Quellcode:
Und wie komm ich jetzt durch den Namen 'Irgendwas' an den Pointer der Methode? Weil in der Exe ist folgendes gepeichert:
{$M+}
TKlasse = class procedure Irgendwas; private { Private-Deklarationen } public { Public-Deklarationen } end; {$M-} Zitat:
Gruß Neutral General |
Re: RTTI - Methodenpointer durch Name rausfinden
TObject.MethodAddress
edit: da war ein Get zu viel |
Re: RTTI - Methodenpointer durch Name rausfinden
Ok danke. Kleine Frage noch:
Delphi-Quellcode:
Wie kann man x dann diesen Pointer zuweisen?
TTata = procedure (blabla: Integer) of object;
var x: TTata; begin x := AObject.MethodAddress('Irgendwas'); // kann man nicht zuweisen EDIT: Ists so richtig?
Delphi-Quellcode:
?
x := TTata(AObject.MethodAddress('Irgendwas')^);
Also ich bekomme da ne AV... |
Re: RTTI - Methodenpointer durch Name rausfinden
Sry für den Doppelpost aber ich wollte bescheid sagen:
ICH HABS! :) :firejump: Danke Dax ! |
Re: RTTI - Methodenpointer durch Name rausfinden
Dann verrate uns doch bitte, im besonderen für Leute, die dasselbe Problem besitzen, wie du es gelöst hast.
|
Re: RTTI - Methodenpointer durch Name rausfinden
Hi,
Habs so gemacht (gefunden durch DP-Suche)
Delphi-Quellcode:
Gruß
var _Create: TMethod;
begin _Create.Code := MethodAddress('NamederMethode'); _Create.Data := Self; FOnCreate := TCreateEvent(_Create); // ... end; Neutral General |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz