"Ulrik Vadstrup" <vadstrup@post12.tele.dk> wrote in
news:9m3g4n$2m3t$1@news.cybercity.dk:
> Udsnit af min Thread erklæring og procedure....
>
> type
> TProgressUpdate = procedure(Sender: TObject; Progress: Integer);
skal være:
TProgressUpdate = procedure(Sender: TObject; Progress: Integer) of
object;
> TGetPatch = class(TThread)
> Private
> FProgressUpdate: TProgressUpdate;
> Progress: Integer;
> Procedure UpdateForm;
> Protected
> procedure Execute; override;
> public
> property OnProgressUpdate: TProgressUpdate read FProgressUpdate
> write FProgressUpdate;
> end;
<klip en hel masse>
Derudover skal du huske at kalde den metode du bruger til opdatering af
GUI'en via Synchronize, eventuel ved at lave endnu et mellemled, man ikke
på et eller andet tidspunkt kommer til at glemmer at anvende Synchronize
(Hvis jeg gætter rigtigt med hensyn til de andre metoder du har og det
gør jeg jo nok :) og såå burde jeg have husket 'of Object' tidliggere
sorry!).
procedure UpdateForm;
begin
if assigned(OnProgressUpdate) then OnProgressUpdate(...);
end;
procedure UpdateProgress;
begin
Synchronize(UpdateForm);
end;
proceudure Execute;
begin
//.. nu skal der være mulighed for at opdatere:
UpdateProgress;
end;
--
Claus Christiansen, <mailto:cch@unipeople.dk>
personal:
http://www.bigfoot.com/~kruc/; pythia:
http://www.pythia.dk
============================================--------------------------
"Computers are useless. They can only give you answers."
- Pablo Picasso (1881-1973)