AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Verständnisproblem: Formulare zur Laufzeit erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Verständnisproblem: Formulare zur Laufzeit erstellen

Ein Thema von Mamphil · begonnen am 19. Feb 2005 · letzter Beitrag vom 19. Feb 2005
Antwort Antwort
Benutzerbild von Mamphil
Mamphil

Registriert seit: 17. Jul 2004
Ort: Garching b. München
149 Beiträge
 
Delphi 7 Professional
 
#1

Verständnisproblem: Formulare zur Laufzeit erstellen

  Alt 19. Feb 2005, 16:22
Hallo!

Ich habe ein Verständnisproblem wir ich Formulare zur Laufzeit erstelle.

Ich habe zur Programmierzeit das Formular Form2 von gebaut. Dieses Formular soll per Klick auf einen Button innerhalb des Hauptformulars erstellt und angezeigt werden. Das habe ich so gemacht:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2 := TForm2.Create(self); // nach meinem Verständnis wird hier das Formular erstellt = created
try
  Form2.ShowModal;
finally
  Form2.Free;
end;
In Form2 lasse ich beim Event onCreate ein Info-Fenster ausgeben:
Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
begin
  MessageDlg('Soeben wurde das zweite Formular erstellt.', mtInformation, [mbOK], 0);
end;
Die Nachricht wird aber angezeigt, sobald ich das Programm starte und nicht, wenn ich das zweite Formular durch TForm2.Create erstelle.

Ganz bestimmt habe ich einen Denkfehler darin - ich würde mich freuen, wenn ihr mir denk erklären könntet.

Vielen Dank im Voraus!
Mamphil
The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#2

Re: Verständnisproblem: Formulare zur Laufzeit erstellen

  Alt 19. Feb 2005, 16:24
hallo,

project -> Optionen .... sollte helfen

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Verständnisproblem: Formulare zur Laufzeit erstellen

  Alt 19. Feb 2005, 16:25
Du müsstest die Form2 aus der auto-instanzierung nehmen. Irgendwo in der projekt-optionen is ne liste.
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#4

Re: Verständnisproblem: Formulare zur Laufzeit erstellen

  Alt 19. Feb 2005, 16:26
kannst du mal den code des projekts zeigen?
das dingen mit Application.CreateForm und so...

wie hast du denn die form erstellt?
also in den code gekriegt?
hast du per hand da oben Form2: TForm; eingetippt oder haste in der ide gesagt "form hinzufügen"?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von Mamphil
Mamphil

Registriert seit: 17. Jul 2004
Ort: Garching b. München
149 Beiträge
 
Delphi 7 Professional
 
#5

Re: Verständnisproblem: Formulare zur Laufzeit erstellen

  Alt 19. Feb 2005, 16:32
Hallo!

Danke für eure Antworten!

1.) Ich habe alle Formulare über die IDE erzeugt und entsprechend auch "Formular hinzufügen" verwendet. Anschließend habe ich die neue Unit manuell ins Uses ... im Implementation-Abschnitt eingetragen. "Application.CreateForm und so..." habe ich gar nicht verwendet.

2.) Der Tipp "Projekt" "Optionen" Formular aus "Automatisch erzeugen" entfernen hat den gewünschten Effekt gebracht.

Vielen Dank allen Helfern!

Mamphil
The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#6

Re: Verständnisproblem: Formulare zur Laufzeit erstellen

  Alt 19. Feb 2005, 16:36
jo, trotzdem nochmal...

wenn dus über die ide machst, fügt er

Delphi-Quellcode:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas{Form1},
  Unit2 in 'Unit2.pas{Form2};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  //Genau hier
  Application.Run;
end.
das CreateForm ein...das kannst/musst du dann per hand oder per Pojekt / Optionen entfernen...
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von Mamphil
Mamphil

Registriert seit: 17. Jul 2004
Ort: Garching b. München
149 Beiträge
 
Delphi 7 Professional
 
#7

Re: Verständnisproblem: Formulare zur Laufzeit erstellen

  Alt 19. Feb 2005, 16:45
Hi!

Nochmal: Danke für die vielen Hinweise

Zitat von glkgereon:
...das kannst/musst du dann per hand oder per Pojekt / Optionen entfernen...
... das wird - wie ich herausgefunden habe - über das entfernen des Formulars aus der Liste "Automatisch erzeugen" von der IDE gemacht...

Und für alle, die sich (genau wie ich) wundern, wie man zum "Program ..."-Teil kommt:
Über das Symbol in der zweiten Icon-Zeile ganz links mit den zwei gelben Blättern kann man die Units auswählen (Delphi 7). Das habe ich bisher immer über "Datei laden" gemacht

Schön, wie leicht man sich das doch alles machen kann

Mamphil
The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: Verständnisproblem: Formulare zur Laufzeit erstellen

  Alt 19. Feb 2005, 17:47
Moin!

... Oder Projektverwaltung (Ansicht->Projektverwaltung oder STRG-ALT-F11) und dort auf der EXE einen Rechtsklick->Quelltext anzeigen.

MfG
Muetze1
  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 02:34 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