AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kann Form nicht schließen!

Ein Thema von sonicfire · begonnen am 6. Aug 2006 · letzter Beitrag vom 15. Aug 2006
Antwort Antwort
Seite 1 von 2  1 2      
sonicfire

Registriert seit: 17. Jan 2006
Ort: Berlin
58 Beiträge
 
#1

Kann Form nicht schließen!

  Alt 6. Aug 2006, 19:32
Servus allerseits! Ich habe mal versucht eine Art Splashscreen via zweiter Form anzuzeigen.
Die Form zeigt er auch an, alles bestens. Ich kann sie nur zum verrecken nicht schließen!!

Code in Hauptprogramm:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
SplashScreen := TSplashScreen.Create(Form1);
SplashScreen.Show;
Code in Splashscreen-Form (Unit):
Delphi-Quellcode:
procedure TSplashScreen.Image1Click(Sender: TObject);
begin
  Close;
end;
Projekt-Code:
Delphi-Quellcode:
begin
  Application.Initialize;
  Application.Title := 'Samplematic';
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TSplashScreen, SplashScreen);
  Application.Run;
end.
Ich kann machen was ich will, entweder ich bekomme Exceptions oder das verdammte Fenster schließt sich einfach nicht. Man sieht, das es "refreshed" wird, also geschlossen und sofort wieder geöffnet

Hat jemadn Rat? Danke schon mal!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Kann Form nicht schließen!

  Alt 6. Aug 2006, 19:38
das ist klar. Im Create von TForm1 erzeugst du ein TSplashScreen weißt dieses auf die Variable Splashscreen zu, und lässt die Instanz auf welche Splashscreen zeigt mit ".Show" anzeigen. Nach dem dein TForm1 kreirt wurde wird in der Projektdatei eine neue Instanz von TSplashScreen erzeugt und auf die Instanz von SplashScreen zugewiesen.

Und in deinem Imageclick steht vermutlich dann nicht
Close(); sondern
SplashScreen.Close(); womit du ein Close auf das zuletzter erzeugte TSplashScreen ausführst was gar nicht angzeigt wird. Anders kanns ich mir zumindest nicht erklären.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
sonicfire

Registriert seit: 17. Jan 2006
Ort: Berlin
58 Beiträge
 
#3

Re: Kann Form nicht schließen!

  Alt 6. Aug 2006, 19:45
Öhm, danke Und das heisst... jetzt... ?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Kann Form nicht schließen!

  Alt 6. Aug 2006, 19:50
das heißt: du müsstest erstmal sagen ob ich recht habe (ob da wirklich splashscreen.close steht). Und wenn dem so ist solltest du aus der Projektdatei das
Application.CreateForm(TSplashScreen, SplashScreen); raus nehmen, und im Sinne der Objectorientierung aus:
Splashscreen.Close(); ein
Self.Close(); bzw.
Close(); machen.
Außerdem solltest du verstehen warum du diese Änderungen machen solltest.

Aber eben alles nur wenn ich recht hatte mit meiner Vermutung, ansonsten scheint der Fehler wo anders zu liegen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Kann Form nicht schließen!

  Alt 6. Aug 2006, 19:50
Es gibt 2 Instanzen der SplashForm. wenn du sie dynamisch erzeugst, solltest du die Erzeugung im Hauptprogramm abschalten.
Markus Kinzler
  Mit Zitat antworten Zitat
sonicfire

Registriert seit: 17. Jan 2006
Ort: Berlin
58 Beiträge
 
#6

Re: Kann Form nicht schließen!

  Alt 6. Aug 2006, 19:58
*Hust* - ich versteh es immer noch nicht ganz ... vor allem: wenn ich das Splash-Fenster minimiere, erscheint sofort ein neues!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Kann Form nicht schließen!

  Alt 6. Aug 2006, 20:00
Hier erzeugst du Instanz nur 1:
Application.CreateForm(TSplashScreen, SplashScreen); Und hier die 2.:
SplashScreen := TSplashScreen.Create(Form1); Einmal reicht!
Markus Kinzler
  Mit Zitat antworten Zitat
sonicfire

Registriert seit: 17. Jan 2006
Ort: Berlin
58 Beiträge
 
#8

Re: Kann Form nicht schließen!

  Alt 6. Aug 2006, 20:16
Achsoo okay, verstehe! Danke! Allerdings ändert das leider rein gar nichts. Nach wie vor dasselbe Ergebnis
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Kann Form nicht schließen!

  Alt 6. Aug 2006, 20:22
Wie sieht der Code jetzt aus?
Markus Kinzler
  Mit Zitat antworten Zitat
sonicfire

Registriert seit: 17. Jan 2006
Ort: Berlin
58 Beiträge
 
#10

Re: Kann Form nicht schließen!

  Alt 6. Aug 2006, 20:41
Naja, so wie im ersten Beispiel bis auf das mit dem Application.CreateForm SplashScreen usw!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:44 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