![]() |
Event "weiterreichen"
Folgendes Problem:
Ich habe in einer Klasse einen FileStream. Dann habe ich eine zweite Klasse abgeleitet von TFileStream, welche mit einem Fortschritts-ereignis ausgerüstet wurde. In meiner Klasse weise ich dem OnProgress Event der erweiterten FileStream Klasse eine Prozedur zu:
Delphi-Quellcode:
FileToAdd := TStreamProgressAdapter.Create(TFileStream.Create(Files[i], fmOpenRead));
FileToAdd.OnProgress := FileProgress;
Delphi-Quellcode:
Meine Klasse:
procedure TArchive.FileProgress(Sender: TObject; Done: LongInt);
begin if Assigned(OnFileProgress) then OnFileProgress(nil, Done); end;
Delphi-Quellcode:
Mein Einsatz im Programm:
type
TOnFileProgress = procedure(Sender: TObject; Done: LongInt); TArchive = class(TObject) private ... FOnFileProgress: TOnFileProgress; procedure FileProgress(Sender: TObject; Done: LongInt); public ... property OnFileProgress: TOnFileProgress read FOnFileProgress write FOnFileProgress; end;
Delphi-Quellcode:
procedure TForm1.FileProgress(Sender: TObject; Done: LongInt);
begin Progressbar2.Position := Done; Progressbar2.Refresh; Sleep(500); end;
Delphi-Quellcode:
Delphi meint dazu aber:
Archive.OnFileProgress := FileProgress; // Zeile 86
Zitat:
|
Re: Event "weiterreichen"
soweit ich weiss geht das mit nem methodenzeiger der die adresse der prozedur aufnimmt.
also: deine Tdeineprocedure = procedure (irgendwas: var) of object; weiss es aber leider nichtmehr so genau, sorry. muss das nochmal nachlesen... |
Re: Event "weiterreichen"
Das habe ich ja. Kuck dir meine Klasse an.
|
Re: Event "weiterreichen"
hm, das "of object" hinter dem methodenzeiger fehlt aber oder seh ich das gerade nur nicht? <g>
|
Re: Event "weiterreichen"
Verdammt. danke. :oops:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz