Forum: Object-Pascal / Delphi-Language
Delphi
by Pfoto,
11. Jan 2007
richtig verstanden!
Die von dir aufgeführte Methode entspräche der zweiten Variante,
die ich beschrieben hatte.
Den von mir beschrieben Nachteil, dass du nun nur 1 Event für
alle Commands/Jobs hast, hast du ja durch die case-Abfrage
aufgehoben.
Bei der ersteren Variante (der Thread ruft das eigene Event des
Forum: Object-Pascal / Delphi-Language
Delphi
by Pfoto,
11. Jan 2007
Letztendlich müsste das so funktionieren:
procedure TmyThread.DoSynchronizeCommandEvent
begin
{ Hier das für die Anwendung bestimmte Event aufrufen }
fCurrentCommand.Event;
end;
Forum: Object-Pascal / Delphi-Language
Delphi
by Pfoto,
11. Jan 2007
Hi nochmal:
Hier das command-Pattern, was ich im Kopf hatte,
ist jedoch vom Prinzip her das gleich wie deins:
{ Hier ein Beispiel-Command }
TSaveImageCommand = class(TCommand)
private
FFilename: string;
Forum: Object-Pascal / Delphi-Language
Delphi
by Pfoto,
11. Jan 2007
Beschäftige dich doch mal mit dem sog. Command-Pattern.
Dort kannst du unabhängige Jobs definieren und abarbeiten.
Der Thread bzw. die ausführende Jobliste kennt die einzelnen
Commands nicht genau -- es führt sie lediglich aus und
über gibt dessen Events.
Im Programm kannst du dir dann das Event des aktuellen
Commands vorknöpfen. So kanns du dein Programm auch mit
immer neuen und...