Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi OnProgress..., Hilfe bitte... [Erledigt, Danke] (https://www.delphipraxis.net/49948-onprogress-hilfe-bitte-%5Berledigt-danke%5D.html)

turboPASCAL 18. Jul 2005 20:25


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 Hier im Forum suchenOnProgress und habe sie benutzt.

Hansa 18. Jul 2005 20:41

Re: OnProgress..., Hilfe bitte...
 
Das ist jetzt keine Lösung. Aber guck Dir mal TGauge an !

marabu 18. Jul 2005 21:19

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

Luckie 18. Jul 2005 21:20

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:
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;
Man sollte meinen, dass es so funktioniert. Leider wird der EventHandler gar nicht aufgerufen. Auch bei einem 140 MB Bitmap nicht. :gruebel:

turboPASCAL 18. Jul 2005 21:28

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)

SirThornberry 18. Jul 2005 21:29

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.

turboPASCAL 18. Jul 2005 22:38

Re: OnProgress..., Hilfe bitte...
 
beim ersten mal überlesen:
Zitat:

Zitat von Luckie
Da der Threadersteller nicht in der Lage ist eine ordentliche Fehlerbeschreibung zu liefern, tue ich es mal für ihn

Na ja, ein Fehler gab es ja nicht, sonst hätte ich den schon beschrieben.
Die Sache mit dem:
Delphi-Quellcode:
Image1.OnProgress := Image1Progress;
hatte ich nicht Begriffen.

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:

Luckie 18. Jul 2005 22:44

Re: OnProgress..., Hilfe bitte...
 
Zitat:

Zitat von turboPASCAL
Na ja, ein Fehler gab es ja nicht, sonst hätte ich den schon beschrieben.

Auch das kann schon mal ein Hinweis sein.
Zitat:

Die Sache mit dem:
Delphi-Quellcode:
Image1.OnProgress := Image1Progress;
hatte ich nicht Begriffen.
Das habe ich nur gemacht, um zu zeigen, dass ich den Event zu gewiesen haben

turboPASCAL 18. Jul 2005 22:57

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 07:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz