Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
Delphi 12 Athens
|
AW: Wie Methode als Pointer übergeben?
1. Aug 2018, 12:55
Ich würde für jede Methode eine eigene Klasse erstellen.
Der Script-Liste dann jeweils Instanzen der Klassen hinzufügen.
Konzept:
Delphi-Quellcode:
TCustomDraw = class
public
procedure Draw(ACanvas: TCanvas); virtual; abstract;
end;
TLine = class(TCustomDraw)
constructor Create(x1, y1, x2, y2: Integer);
public
procedure Draw(ACanvas: TCanvas); override;
end;
TCircle = class(TCustomDraw)
constructor Create(x, y, r: Integer);
public
procedure Draw(ACanvas: TCanvas); override;
end;
procedure BuildScript;
begin
Script.Add(TLine.Create(5, 4, 8, 9));
Script.Add(TCircle.Create(5, 4, 2));
Script.Add(TCircle.Create(8, 9, 2));
end;
procedure ExecuteScript(ACanvas: TCanvas);
var
cmd: TCustomDraw;
begin
for cmd in Script do
cmd.Draw(ACanvas);
end;
|
|
Zitat
|