Einzelnen Beitrag anzeigen

MSCH

Registriert seit: 8. Mai 2003
Ort: Berlin
42 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: Datenaustausch zwischen einer Methode und einem Programm

  Alt 27. Jul 2003, 14:35
Via Thread auf ein VCL Objekt zugreifen geht nur über die Synchronize() Methode des Threads.
Eine Übergabe von Parametern von Functionen könnte so laufen:

Code:
type
  TmyNewProc = procedure (max, position:Integer);
...
  myThread= Class(TThread)
    Proc: TmyNewProc; // nur Pointer !
    constructor Create(.., varTmyNewProc: TmyNewProc,..)
  ...

im Hauptprogramm Thread.Create(..) mit Procedure übergeben

constructor myThread.Create;
begin
  ...
  Proc:= varTmyNewProc;
  ...
end;

procedure myThread.Execute;
begin
  ...
  Synchronize(test);
  ...
end;

procedure MyThread.Test;
...
  Proc(80,8);
...
so aus'm Gedächtniss.


Übergebe dem Thread doch direkt die Progressbar. In der Execute() dass die Progressbar direkt aus dem Thread (Synchronize) aktualisieren.
  Mit Zitat antworten Zitat