Einzelnen Beitrag anzeigen

Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Parametrisierte Prozeduren in Joblisten speichern

  Alt 12. Jul 2006, 18:24
Danke Waldteufel!

Es ist leider noch nicht der professionelle Weg, den ich mir vorgestellt habe...

Nun habe ich jedoch noch ein bischen code im Netz gefunden, mit denen ich glaube, das Command-Pattern verstanden zu haben.
Für alle die es interessiert:

Delphi-Quellcode:

type
  TCommand = class
  public
    Procedure Execute; virtual; abstract;
  end;

type
  TBefehlsObjektCommnd = class(TCommand)
  protected
    // Methoden ...
  Public
    Constructor Create(Wert1, Wert2, Wert3: integer);
    Procedure Execute; override;
  end;


procedure TAddToListBoxCommnd.Execute;
begin
  // Hier gezielt Befehl ausführen
end;


// Irgendwo im Programm, z.B. Jobliste:
  Joblist_Command: TCommand;
  Joblist_Command := TBefehlsObjektCommnd.Create(100, 200, 300);


// Wenn z.B. Thread bereit ist, den Job auszuführen, ruft dieser auf:
  Joblist_Command.Execute;
Somit kann man für beliebige Aufgaben solche Command-Objekte erstellen,
indem man sie vom Command-Objekt ableitet.
Die Jobliste ist ebenfalls Command-Objekt-kompatibel, so dass dort
verschiedene abfolgenden von Kommandos zwischengespeichert werden können.


Vielleicht könnt ihr diese Dinge ja auch gebrauchen, z.B. auch sinnvoll
für Undo-Redo-Geschichten oder Makros.

Grüße
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat