Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.084 Beiträge
Delphi 12 Athens
|
AW: Ausführen einer Methode bei MethodAddress
4. Feb 2024, 16:25
Casten und die Methode "direkt" aufrufen ist natürlich immernoch das Beste, am Einfachsten über einen gemeinsamen Vorfahren.
Delphi-Quellcode:
type
TMyForm = class(TForm)
private
procedure Test;
procedure DoLog(S, S2: string);
end;
procedure TMyForm.Test;
begin
for var M in TRttiContext.Create.GetType({TMyForm}Self.ClassType).GetMethods do // ja, es fehlt ein .FindMethod('DoLog') ... k.A. warum die immer wieder so dämlich sind
if M.Name = 'DoLog' then
M.Invoke(Self, ['abc', 'def']);
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|