AGB  ·  Datenschutz  ·  Impressum  







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

Form2.Show in TForm1.FormCreate

Ein Thema von Brakeman · begonnen am 23. Jun 2008 · letzter Beitrag vom 23. Jun 2008
Antwort Antwort
Brakeman

Registriert seit: 23. Sep 2003
43 Beiträge
 
#1

Form2.Show in TForm1.FormCreate

  Alt 23. Jun 2008, 11:05
Hallo,
ich möchte direkt beim Start meines Programmes die Form2 (befindet sich in Unit2) erscheinen lassen. Leider funktioniert das nicht, es kommt eine Zugriffsverletzung:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Form2.ShowModal;
end;
Mache ich das ganze über einen eigenen Button.Click dann funktioniert es.

Was mache ich denn da falsch?

Danke!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.623 Beiträge
 
Delphi 12 Athens
 
#2

Re: Form2.Show in TForm1.FormCreate

  Alt 23. Jun 2008, 11:07
In der *.dpr wird Form2 erst nach Form1 erzeugt, daher hast Du noch gar keine Instanz, die Du anzeigen könntest. Versuch es mal so:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Form2 := TForm2.Create(Application);
  try
    Form2.ShowModal;
  finally
    Form2.Release;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Form2.Show in TForm1.FormCreate

  Alt 23. Jun 2008, 11:13
Zitat von DeddyH:
In der *.dpr wird Form2 erst nach Form1 erzeugt, daher hast Du noch gar keine Instanz, die Du anzeigen könntest. Versuch es mal so:[...]
Dann *MUSS* aber die entsprechende Zeile aus dem *.dpr raus, sonst hat man zwei Instanzen von Form2 im Speicher liegen. Das kann neben Speicherlecks auch noch zu seltsamen Effekten führen, wenn z.B. das Form Hooks anlegt oder Messages registriert.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.623 Beiträge
 
Delphi 12 Athens
 
#4

Re: Form2.Show in TForm1.FormCreate

  Alt 23. Jun 2008, 11:15
Stimmt, das vergaß ich zu erwähnen. Kann man ja in den Projektoptionen einstellen.

[edit] Ein "p" vergessen [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Form2.Show in TForm1.FormCreate

  Alt 23. Jun 2008, 11:38
Seitdem ich letztens mal "auf wundersame Art und Weise" im dpr zweimal die Create-Zeile für ein und dasselbe Form drin hatte und eine Dreiviertelstunde alles mögliche debugged habe, warum meine Events nicht mehr tun, kontrolliere ich das lieber nochmals selber
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Brakeman

Registriert seit: 23. Sep 2003
43 Beiträge
 
#6

Re: Form2.Show in TForm1.FormCreate

  Alt 23. Jun 2008, 11:51
So habe ich es eingebaut und die Zeile in der Projektdatei entfernt. Funktioniert super!

Danke!
  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 08:39 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