Delphi - Splash Screen Evolué

Delphi - Splash Screen Evolué - Delphi/Pascal - Programmation

Marsh Posté le 03-04-2006 à 19:30:07    

Bonjour a tous,
 
Je voudrais créer un splash screen pour ma petite appli.
Mon application contient 3 TForm (Form1, Form2, Form3)  
La Form1 est la Form principale.
 
J'ai donc créer une nouvelle TForm4 pour le splashScreen avec un TImage et un TGauge pour afficher un peu l'evolution du chargement.
Pour le TForm4, j'ai fait une petite fonction TForm4.init() qui fait evoluer la gauge toutes les X millisecondes sans pour l'instant tenir compte du chargement de l'appli, juste pour tester un peu le splashscreen
 
Voici mon dpr :

Citation :


  Application.Initialize;
 
  Application.CreateForm(Tform4, form4);
  form4.Show;
  form4.Update;
  form4.init();
 
   try
       Application.CreateForm(TForm1, Form1);
       Application.CreateForm(TForm2, Form2);
       Application.CreateForm(TForm3, Form3);
       form4.close;
  finally
       form4.Release;// libération de la mémoire
  end;
 
  Application.Run;


 
Si je ne fais pas evoluer le TGauge et que je fais un simple sleep(2000) dans le form4.init() , je n'ai aucun soucis, le splashScreen se lance et ensuite le TForm1 se lance.
Par contre si je tente de faire evoluer le TGauge, je me retrouve avec un EAccessViolation a l'execution.
J'ai lu un peu sur les forums,ca vient surement du fait que je tente d'acceder a TGauge et qu'il ne doit pas etre crée.
Ce que je comprends pas c'est que la form4 est bien crée , et que le composant TGauge fait partie de cette Form4...
Mais ne connaissant que très peu le delphi, je vois pas trop ce que je peux faire.
 
J'aimerais donc savoir comment faire pour faire evoluer le TGauge lors du splashscreen.
J'espere avoir eté clair (:D) et si vous avez des questions, n'hesitez pas.
 
Merci d'avoir pris le temps de lire mon probleme.
 
Cordialement,


Message édité par cyrax_bfp le 03-04-2006 à 19:47:31
Reply

Marsh Posté le 03-04-2006 à 19:30:07   

Reply

Marsh Posté le 04-04-2006 à 10:11:25    

C'est surtout le TForm4(c'est bien lui le splach, non?) dont il nous faudrait le code.
Si ton TGauge(c'est un composant perso ou c'est en standart dans un Delphi plus recent que le mien?) a été ajouté à ton forme de manière grapique, normalement, il n'y a pas de problème : La variable est crée dès la création du TForm4.
Sinon, si tu t'est contenté de le déclaré sans l'instancié, alors il faut l'instancié par le code suivant :

MaGauge := TGauge.create(ParametreEventuels);

(la syntaxe d'instenciation perturbe souvent les non-delphiste)
 
Sinon, le pas par pas permetrait de savoir quelle est exactement la ligne qui plante.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed