![]() |
OnProgress..., Hilfe bitte... [Erledigt, Danke]
:gruebel:
Hi, kann mir bitte jemand helfen, kein kleines Beispiel (Pseudocode reicht event.) zu Image.OnProgress ? Ich fummele schon eine kleine Weile damit herum, bekomme es aber nicht hin. :wall: Wie kann man mit OnProgress erreichen, das man eine Progressbar beim Bild laden (bzw. verarbeiten) mit laufen lassen kann. Ps.: Die Suche kenne ich ![]() |
Re: OnProgress..., Hilfe bitte...
Das ist jetzt keine Lösung. Aber guck Dir mal TGauge an !
|
Re: OnProgress..., Hilfe bitte...
Hallo Matti,
vielleicht hast du gar nichts falsch gemacht. Da das OnProgress Ereignis erst bei längeren Ladevorgängen ausgelöst werden soll, fällt es mir schwer ein passendes Bild zu finden. Selbst ein 13.4 MB großes Bitmap wird auf meiner Maschine in null-komma-nichts geladen - wenig Gelegenheit für einen Progressbar... Grüße vom marabu |
Re: OnProgress..., Hilfe bitte...
Da der Thread erstellen nicht in der lage ist eine ordentliche Fehlerbeschreibun gzu liefrn, tue ich es mal für ohn:
Delphi-Quellcode:
Man sollte meinen, dass es so funktioniert. Leider wird der EventHandler gar nicht aufgerufen. Auch bei einem 140 MB Bitmap nicht. :gruebel:
procedure TForm1.Button1Click(Sender: TObject);
begin Image1.OnProgress := Image1Progress; Image1.Picture.Bitmap.LoadFromFile('d:\test.bmp'); end; procedure TForm1.Image1Progress(Sender: TObject; Stage: TProgressStage; PercentDone: Byte; RedrawNow: Boolean; const R: TRect; const Msg: string); begin ShowMessage(''); case Stage of psStarting: ProgressBar1.Position := 0; psRunning: begin Progressbar1.Position := PercentDone; end; psEnding: ProgressBar1.Position := 0; end; end; |
Re: OnProgress..., Hilfe bitte...
@Hansa, hilft nicht so richtig, dennoch thx.
Hi, marabu ja das laden ist eigentlich nicht so das Problem, eher das Umwandeln von 8 Bit zu 32 Bit. Das braucht bei mir ne' kleine Weile und das wollte ich Abfangen. @Luckie Thx, werde mal gucken ob ich damit klarkomme. (ich denke schon) |
Re: OnProgress..., Hilfe bitte...
Laut Hilfe wird OnProgress auch nur ausgelöst wenn es sich um große und komprimierte Bilder handelt.
Anhand des quelltextes findet man heraus das TPicture welches sich in TImage befindet auch ein OnProgress hat welches letztendlich nach außen gereicht wird (OnProgress von TImage wird nur ausgelöst wenn OnProgress von TPicture ausgelöst wird). Bei TPicture steht dann dann bei OnProgress in der Hilfe das es nur ausgelöst wird wenn der entsprechende Bildtyp das auslöst. So steht zum Beispiel in der Hilfe das zum Beispiel JPEG-Images das OnProgress auslösen. Also einfach mal die Hilfe zu TPicture->OnProgress anschauen. |
Re: OnProgress..., Hilfe bitte...
beim ersten mal überlesen:
Zitat:
Die Sache mit dem:
Delphi-Quellcode:
hatte ich nicht Begriffen.
Image1.OnProgress := Image1Progress;
Funzt jetzt (manchmal, wenn es mal wieder länger dauert), solange sich das nicht Programm ohne Fehlermeldung oder einem Mux verabschiedet. *bluppundweg* Das bekomme ich aber noch heraus. :coder2: |
Re: OnProgress..., Hilfe bitte...
Zitat:
Zitat:
|
Re: OnProgress..., Hilfe bitte...
@Luckie, genau das war das was ich nicht wusste und was man nicht weis kann man schlecht beschreiben :wink:
(Es ist ja jetzt auch schon nach 'nem Bierchen, da können kleine Fehler vorkommen ;-) ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 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