Einzelnen Beitrag anzeigen

Pfoto

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

Re: Werte übergeben aus einem 2. Thread

  Alt 11. Jan 2007, 14:52
Hi nochmal:

Hier das command-Pattern, was ich im Kopf hatte,
ist jedoch vom Prinzip her das gleich wie deins:

Delphi-Quellcode:
 
{ Hier ein Beispiel-Command }
TSaveImageCommand = class(TCommand)
  private
    FFilename: string;
  protected
  public
    constructor Create(const AFilename: string); reintroduce; overload;
    procedure Execute; override;
  end;

  TCommand = class
  protected
    FCaption: string;
    FOnCommandProgress: TOnCommandProgress;
    procedure CommandProgress(ACommand: TCommand);
  public
    Constructor Create; virtual;
    procedure Execute; virtual;
    property Caption: string read FCaption;
    property OnCommandProgress: TOnCommandProgress read FOnCommandProgress write FOnCommandProgress;
  end;

Im Thread würde ich nun das Event des Commands umleiten,
so dass es erst den Thread informiert und nicht einfach
bis zur Hauptanwendung durchschlägt, wo es ja nicht synchronisiert
wäre.

Wenn das Event dann den Thread erreicht hat, würde ich einfach
ein Event des Threads auslösen, welches das aktuelle TCommand
übergibt.

Wenn du dann das Event in deiner Anwendung auswerten willst,
kannst du ja das übergebene TCommand-Objekt holen und die
gewünschte Eigenschaft auslesen.

Soweit meine Gedanken hierzu...

Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat