Próbuję wykombinować, w jaki sposób wywoływać metodę obiektu jeśli w momencie pisania kodu nie znam listy parametrów tej metody.
Po prostu stworzyć prosty język skryptowy, gdzie użytkownik może samemu rejestrować własne metody...
Próbowałem w ten sposób, że w liście published formy1 dodaję:
procedure MyShowMsg(s:string);
To oczywiście tylko testy - tu znam listę parametrów ;)
potem piszę
PProcMethod = ^TProcMethod;
TProcMethod = procedure(const value:Variant) of object;
a potem odwołuje się w ten sposób:
var
PAddr: PProcMethod;
M: TMethod;
begin
try
PAddr := MethodAddress(aMethodName);
If PAddr <> Nil then
Begin
M.Code := PAddr;
M.Data := Self;
TProcMethod(M)('MyShowMsg');
End;
except
end;
niestety, w funkcji MyShowMsg wszystko wskazuje na to że "s" jest PUSTE!!!
Czy ktoś może mi pomóc?