AGB  ·  Datenschutz  ·  Impressum  







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

Fenster nach Programmstart öffnen?

Ein Thema von MCXSC · begonnen am 21. Dez 2005 · letzter Beitrag vom 6. Jul 2007
Antwort Antwort
MCXSC
(Gast)

n/a Beiträge
 
#1

Fenster nach Programmstart öffnen?

  Alt 21. Dez 2005, 21:34
Hallo,


Hab ein kleines Problem:

Wie kann ich ein zweites Formular im OnCreate-Ereignis des Hauptformular öffnen? Bei mir kommt da immer eine Fehlermeldung.

Folgenden Code verwende ich:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
form2.showmodal;
end;
Und folgende Fehlermeldung erscheint immer:

Zitat:
Im Project projektname.exe ist eine Execption der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 00AAD103 in Modul 'projektname.exe' [...]
Kann mir jemand helfen?

MCXSC
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Fenster nach Programmstart öffnen?

  Alt 21. Dez 2005, 21:37
Bitte erstell für jede Frage einen sepaaraten Thread, sonst geht hier alles durcheinander. Danke.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Fenster nach Programmstart öffnen?

  Alt 21. Dez 2005, 22:08
Und zusätzlich solltest du immer Quellcode angeben, den du schon hast, die Fehlermeldung sowieso und auch die Zeile, in der ein Fehler auftritt etc. Damit verhinderst du unnötiges Nachfragen.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Fenster nach Programmstart öffnen?

  Alt 22. Dez 2005, 06:34
Zitat von MCXSC:
... Wie kann ich ein zweites Formular im OnCreate-Ereignis des Hauptformular öffnen? Bei mir kommt da immer eine Fehlermeldung.
Hai MCXSC,

das Fehler kommt weil zu dem Zeitpunkt wo Du Form2.ShowModal aufrufst dein Instanz von TForm2 noch nicht erzeugt wurde.
In deiner Projekt.dpr werden die Forms der reihe nach erzeugt. Da Du aber auf das .OnCreate der TForm1 reagierst ist deine Instanz von TForm2 natürlich noch nicht erzeugt

Delphi-Quellcode:
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1); // Form1 wird erzeugt und das OnCreate von Form1 wird aufgerufen.
  Application.CreateForm(TForm2, Form2); // Erst DANACH wird Form2 erzeugt.
  Application.Run;
end.
Am einfachsten kannst Du das umgehen in dem Du deinen Code nicht in das OnCreate schreibst sondern in das OnActivate der Form
Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
begin
  Form2.ShowModal;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#5

Re: Fenster nach Programmstart öffnen?

  Alt 22. Dez 2005, 07:07
oder Du nimmst Form2 aus der Liste der automatisch erzeugten Forms und nutzt folgenden Code:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.CreateForm(TForm2, Form2);
form2.showmodal;
Form2.Free;
end;
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#6

Re: Fenster nach Programmstart öffnen?

  Alt 6. Jul 2007, 21:15
Ich muss, auch wenn es schon lange her ist, nochmal was zum gleichen Thema (deswegen kein neuer Thread, da es eigentlich die gleiche Frage ist, nachfragen:

Wie ist es denn möglich, einen MessageDlg im OnCreate Ereignis von Form1 zu öffnen? Da bekomme ich nämlich ebenso eine Fehlermeldung...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Fenster nach Programmstart öffnen?

  Alt 6. Jul 2007, 21:28
Da könnte dir die VCL einen Streich spielen. Wie ist es denn mit einer MessageBox?
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 15:15 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