AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Warum verschwindet mein Splash nicht.
Thema durchsuchen
Ansicht
Themen-Optionen

Warum verschwindet mein Splash nicht.

Ein Thema von Aurus · begonnen am 15. Mai 2006 · letzter Beitrag vom 15. Mai 2006
Antwort Antwort
Aurus

Registriert seit: 26. Aug 2005
Ort: Schweiz
53 Beiträge
 
#1

Warum verschwindet mein Splash nicht.

  Alt 15. Mai 2006, 12:41
Hallo

Ich habe in mein Programm ein Splash eingebunden.

Der Splash verschwindet wenn eine gewisse Zeit abgelaufen ist oder wenn ich eine Taste drücke oder wenn ich mit der Maus klicken. Dann wird eine Boolean Variable (blnSplash) True gesetzt.

Der Splash verschwindet zwar aber er ist im Taskmanager immer noch zu sehen.

Was mache ich falsch?


Gruss

Aurus


Delphi-Quellcode:
begin

  SplashF := TSplashF.Create(Application);
  Screen.Cursor := crHourGlass;
  SplashF.Show;
  SplashF.Refresh;


  Application.Initialize;
  Application.Title := 'Demo Programm ';
  Application.CreateForm(THauptansicht, Hauptansicht);
   Application.CreateForm(TEinstAll, EinstAll);
  Application.CreateForm(TSplashF, SplashF);

  while SplashF <> nil do
  begin
    Application.ProcessMessages;
    if (SplashF <> nil) AND (Hauptansicht.blnSplash = True) then
    begin
      SplashF :=Nil;
      SplashF.Free;
    end;
  end;

  Screen.Cursor := crDefault;
  Application.Run;

end;
[edit=SirThornberry]Delphi-Tags gesetzt. Nächstes mal bitte selbst machen. Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: Warum verschwindet mein Splash nicht.

  Alt 15. Mai 2006, 12:45
Delphi-Quellcode:
      SplashF :=Nil;
      SplashF.Free;
Andersrum ist besser.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Warum verschwindet mein Splash nicht.

  Alt 15. Mai 2006, 12:46
andersrum ist nicht nur besser sondern die inzig funktionelle Variante. Denn ".Free" auf nil bewirkt nichts. Das Object bleibt weiter vorhanden und wird nie freigegeben. Was auch erklärt warum der splash noch da ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Aurus

Registriert seit: 26. Aug 2005
Ort: Schweiz
53 Beiträge
 
#4

Re: Warum verschwindet mein Splash nicht.

  Alt 15. Mai 2006, 12:50
Hallo zusammen

Leider geht es auch nicht wenn ich wenn ich zuerste Free und dann nil nehme.
Der Splash verschwindet zwar aber nicht im Taskmanager.

SplashF.Free;
SplashF :=Nil;



Gruss

Aurus
  Mit Zitat antworten Zitat
Phistev
(Gast)

n/a Beiträge
 
#5

Re: Warum verschwindet mein Splash nicht.

  Alt 15. Mai 2006, 12:51
Der Splash wird auch zweimal erstellt, einmal per Konstruktor und einmal per Application.CreateForm. Streiche Application.CreateForm(TSplashF, SplashF); , dann sollt's passen
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.875 Beiträge
 
Delphi 12 Athens
 
#6

Re: Warum verschwindet mein Splash nicht.

  Alt 15. Mai 2006, 12:51
Du gebnerierst Dein Splash-Form doppelt:

SplashF := TSplashF.Create(Application); und

Application.CreateForm(TSplashF, SplashF); Die zuerst ghenerierte Form benutzt DU nie wieder. Du Speicherst den Verweis auf diese Form in SplashF und überschreibst diese Referenz bei der zweiten Generierung wieder.

Gruß

onlinekater

[Edit] Hrrrrmmmpf ... da fehlte der rote Kasten .... [/Edit]
Thomas Breitkreuz
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#7

Re: Warum verschwindet mein Splash nicht.

  Alt 15. Mai 2006, 12:56
Oder wie wäre es damit?
Delphi-Quellcode:
...
Application.CreateForm(TSplashF, SplashF);

while not Hauptansicht.blnSplash do
  Application.ProcessMessages;
SplashF.Free;

Screen.Cursor := crDefault;
...
[add]
wenn du dein Spalsh zweimal erzeugst und nur einmal freigibst, dan ist es natrlich noch einmal vorhanden
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Aurus

Registriert seit: 26. Aug 2005
Ort: Schweiz
53 Beiträge
 
#8

Re: Warum verschwindet mein Splash nicht.

  Alt 15. Mai 2006, 12:59
Danke an alle.

Der Fehler war wirklich dass ich den Splash doppelt erstellt habe.


Gruss


Aurus
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 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