Hallo,
ich nutze diese kleine Routine um Prozeduren mit Namen zu starten,
das klappt auch alles ganz wunderbar solange sich diese Prozedure
in der gleichen Form befindet ...
Delphi-Quellcode:
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
// Your routines (that you'll run by name) must be here
procedure Hello_World(Sender: TObject);
private
procedure ExecuteRoutine(Instance: TObject; Name: string);
end;
var
Form1: TForm1;
type
TExecute = procedure of object;
procedure TForm1.ExecuteRoutine(Instance: TObject; Name: string);
var
Routine: TMethod;
Execute: TExecute;
begin
Routine.Data := Pointer(Instance);
// Returns the address of a published method.
Routine.Code := Instance.MethodAddress(Name);
if Routine.Code = nil then Exit;
Execute := TExecute(Routine);
Execute;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ExecuteRoutine(Form1, 'Hello_World');
end;
procedure TForm1.Hello_World(Sender: TObject);
begin
ShowMessage('This is a test');
end;
Jetzt möchte ich von der Hauptform eine Routine (Prozedure) aus einer
anderen
unit aufrufen.
Und das bekomm ich nicht gebacken ..., da fehlt's mir echt an den
Grundlagen
Kann mit jemand weiterhelfen ?
Danke schonmal.
Gruß
Sigi