Toon posts:

[Delphi 7] applicatie stoppen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig om in een database-tooltje een logo te maken dat zichtbaar is tijdens het laden van de applicatie met een progressbar.

Uit een voorbeeld heb ik het volgende gehaald:

code:
1
2
3
4
5
6
7
8
9
10
  Application.Initialize;
  FormLogo := TFormLogo.Create(Application);  FormLogo.Show;
  FormLogo.Update;
  FormLogo.ProgressBar.Position := 15;
  FormLogo.lblLogo.Caption := 'Bezig met initialiseren... [module: ''logo'']';
  FormLogo.Update;
  Application.CreateForm(TFormHoofdmenu, FormHoofdmenu);
  FormLogo.ProgressBar.Position := 30;
  FormLogo.lblLogo.Caption := 'Bezig met initialiseren... [module: ''About'']';
  FormLogo.Update;


Wat ik hier uit begrijp is dat het form met het logo als een aparte applicatie geladen wordt. (?)

Als de hoofdapplicatie gestart is dan staat op de achtergrond nog steeds het form met het logo en de progessbar.

Hoe unload ik die applicatie?

[ Voor 5% gewijzigd door Verwijderd op 01-04-2004 10:04 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 26-05 23:32
Die FormLogo is helemaal geen aparte applicatie. Z'n parent is gewoon de huidige applicatie, dus als de applicatie gesloten wordt, dan wordt FormLogo ook afgesloten.

Je FormLogo blijft nu echter nog openstaan omdat je 't nergens afsluit.

https://fgheysels.github.io/


  • mjax
  • Registratie: September 2000
  • Laatst online: 14-05 11:00
Dus aan het einde FormLogo.Free toevoegen en je bent klaar.

  • JozyDaPozy
  • Registratie: December 2002
  • Laatst online: 13-05 14:00
mjax schreef op 01 april 2004 @ 09:54:
Dus aan het einde FormLogo.Free toevoegen en je bent klaar.
En dat dus wel voordat je je hoofdscherm laat zien.. anders wordt je splash-screen pas gereleased als je je applicatie sluit.

Verwijderd

Topicstarter
whoami schreef op 01 april 2004 @ 09:53:
Die FormLogo is helemaal geen aparte applicatie. Z'n parent is gewoon de huidige applicatie, dus als de applicatie gesloten wordt, dan wordt FormLogo ook afgesloten.

Je FormLogo blijft nu echter nog openstaan omdat je 't nergens afsluit.
daarvoor had ik natuurlijk ook al het een en ander geprobeerd:

code:
1
2
3
4
5
  FormLogo.Update;

  FormLogo.Hide;

  Formlogo.Visible := False;


werkt niet...
mjax schreef op 01 april 2004 @ 09:54:
Dus aan het einde FormLogo.Free toevoegen en je bent klaar.
en dat werkt ook niet... :)


Hij blijft gewoon op de achtergrond staan. Je ziet hem wanneer je je het hoofdvenster een stukje uit beeld sleept.

[ Voor 25% gewijzigd door Verwijderd op 01-04-2004 09:59 ]


  • Icelus
  • Registratie: Januari 2004
  • Niet online
Aan het eind van de code:
Delphi:
1
2
3
4
Sleep( 1000 );  // Wacht een seconde; om laatste tekst van lblLogo te laten zien
FormLogo.Hide;
FormLogo.Free;
Application.Run;

[ Voor 6% gewijzigd door Icelus op 01-04-2004 09:59 ]

Developer Accused Of Unreadable Code Refuses To Comment


Verwijderd

Topicstarter
Dit is het hele stuk:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  Application.Initialize;
  FormLogo := TFormLogo.Create(Application);  FormLogo.Show;
  FormLogo.Update;
  FormLogo.ProgressBar.Position := 15;
  FormLogo.lblLogo.Caption := 'Bezig met initialiseren... [module: ''logo'']';
  FormLogo.Update;
  Application.CreateForm(TFormHoofdmenu, FormHoofdmenu);
  FormLogo.ProgressBar.Position := 30;
  FormLogo.lblLogo.Caption := 'Bezig met initialiseren... [module: ''About'']';
  FormLogo.Update;
  Application.CreateForm(TFormLWKlant, FormLWKlant);
  FormLogo.ProgressBar.Position := 45;
  FormLogo.lblLogo.Caption := 'Bezig met initialiseren... [module: ''Factuur'']';
  FormLogo.Update;
  Application.CreateForm(TFormLogo, FormLogo);
  FormLogo.ProgressBar.Position := 60;
  FormLogo.lblLogo.Caption := 'Bezig met initialiseren... [module: ''Offerte'']';
  FormLogo.Update;
  Application.CreateForm(TData, Data);
  FormLogo.ProgressBar.Position := 75;
  FormLogo.lblLogo.Caption := 'Bezig met initialiseren... [module: ''Data'']';
  FormLogo.Update;
  Application.CreateForm(TFormLWSchool, FormLWSchool);
  FormLogo.ProgressBar.Position := 88;
  FormLogo.lblLogo.Caption := 'Bezig met initialiseren... [module: ''Klanten'']';
  FormLogo.Update;
  Application.CreateForm(TFormLWUitgever, FormLWUitgever);
  FormLogo.ProgressBar.Position := 100;
  FormLogo.lblLogo.Caption := 'Bezig met initialiseren... [module: ''Produkten'']';
  FormLogo.Update;
  Application.Run;


En voor Application.run heb ik dus het een en ander geprobeerd. Hide, free, destroy, visible := false;

  • whoami
  • Registratie: December 2000
  • Laatst online: 26-05 23:32
Close()

Daarmee sluit je het scherm.

[ Voor 73% gewijzigd door whoami op 01-04-2004 10:04 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
Stom stom stom.... ik heb het al gevonden.

Formlogo werd dubbel geinitialiseerd: boven aan en ergens halverwege.

Tja... Als je er dan per ongeluk 2 aanmaakt moet je er ook twee sluiten anders blijft hij staan ja. :)

Bedankt in ieder geval!
Pagina: 1