Autor Beitrag
Green
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 283

Windows XP Home
Delphi 6 Enterprise
BeitragVerfasst: Mi 09.01.08 19:32 
Ich befinde mich in der Formcreate einer Form.
Dort wird erst mittels show; das Formular sichtbar gemacht und dannach soll ein Ladebalken die Ladezeit darstellen.
Wie bei vielen "großen" programmen.
Der Ladebalken funktioniert wunderbar, also man sieht den Ladebalken aber das Bild wird nicht angezeigt.
Erst nachdem die Berechnung fertig ist und [/delphi]Application.run[/delphi] in der Projektdatei aufgerufen wurde (also nach der beendigung von FormCreate wird das Bild angezeigt.
Ich hab schon alles versucht:
ausblenden Delphi-Quelltext
1:
2:
3:
Image1.Show;
Image1.Create(Self);
Image1.Invalidate;

aber nix cavon fruchtet...
was ist des Rätsels Lösung?

lG Green
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Mi 09.01.08 20:07 
probiers mal im OnActivate...hat zumindest mit ner Gauge bei mir schonmal funktioniert

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
turboPASCAL
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 193
Erhaltene Danke: 1

Win XP / Vischda
D6 PE / D2005 PE
BeitragVerfasst: Mi 09.01.08 21:22 
* Wie schaut denn die Laderoutiene aus ?
* im FormCreate wird die Form nocht angezeigt, erst im OnShow bzw. OnActivate

Das sollte funktionieren:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
begin
  Self.DoubleBuffered := TRUE;

  Image1.Visible := FALSE;
  Image1.Picture.LoadFromFile( ... );

  Show;
  Image1.Visible := TRUE;

  // Mach was
  for i := 1 to 100 do
  begin
    ProgressBar1.Position := i;
    sleep(i); 

    Application.ProcessMessages;
  end;

  Image1.Visible := FALSE;

end;

_________________
Nein, ich bin nicht der turboPASCAL aus der DP, ich seh nur so aus... :P
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Mi 09.01.08 22:02 
user profile iconturboPASCAL hat folgendes geschrieben:

ausblenden Delphi-Quelltext
1:
Application.ProcessMessages;					

Das sollte eigentlich ausreichen. Also kannst du das einfach einfügen, auch in deine Versuche, und es sollte gehen.
Ich würde dir dennoch mal diesen Link empfehlen :wink: :Klick. So machen das die
user profile iconGreen hat folgendes geschrieben:
"großen" programme.