AGB  ·  Datenschutz  ·  Impressum  







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

Form vor Mainform erstellen

Ein Thema von ebber · begonnen am 19. Jun 2007 · letzter Beitrag vom 26. Jun 2007
Antwort Antwort
Seite 1 von 2  1 2      
ebber

Registriert seit: 31. Okt 2006
243 Beiträge
 
#1

Form vor Mainform erstellen

  Alt 19. Jun 2007, 18:07
Hallo

ich habe in meinem Programm 2 Forms. Wenn ich es starte wird die MainForm ganz normal angezeigt. Ich will an der Sache auch nichts änder. Es soll blos eine 2. Form noch vorher geladen werden, damit ich auf deren Variablen zugreifen kann.

Ist das möglich ? Wie ? oder führt das zu Problemen wie z.B. wenn man macht Position - Mainformcenter ?

MfG
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Form vor Mainform erstellen

  Alt 19. Jun 2007, 18:17
Zitat:
damit ich auf deren Variablen zugreifen kann.
Meinst du globale Variablen? Auf die kannst du immer zugreifen, wenn du die Unit in der uses hast. Oder meinst du Felder der Formularklasse? Dann musst du in der *.dpr (Projekt->Quelltext anzeigen) die beiden Application.createform... so vertauschen, dass die Form, auf deren Felder du zugreifen willst, zuerst erzeugt wird.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
ebber

Registriert seit: 31. Okt 2006
243 Beiträge
 
#3

Re: Form vor Mainform erstellen

  Alt 19. Jun 2007, 18:27
Ja ich meinte die Formulardinger.

Ja das hatte ich versucht, aber dann wir die andere Form zur Mainform.

und es gab das Problem

Zitat von ebber:

wenn man macht Position - Mainformcenter ?
MfG
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Form vor Mainform erstellen

  Alt 19. Jun 2007, 18:33
Bäh. Habe es gerade ausprobiert, der modelt den Quelltext ja um, sobald man das Mainform neu setzt...
Muss der relevante Code umbedingt im FormCreate stehen (das meintest du doch?)? Oder reicht FormShow aus?

Zitat:
wenn man macht Position - Mainformcenter ?
Darf man das verstehen?
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
ebber

Registriert seit: 31. Okt 2006
243 Beiträge
 
#5

Re: Form vor Mainform erstellen

  Alt 19. Jun 2007, 18:44
Zitat:
wenn man macht Position - Mainformcenter ?
Ja das ist vielleicht nicht so eindeutig.
Ich meine damit, dass wenn man bei der Form einstellt Position - Mainformcenter, dass es die MainForm dann noch nicht gibt und deswegen die Form die Position der anderen nicht auslesen kann.

Ja eigentlich wäre das egal aber FormShow wird doch jedes mal wenn Form.Show ist ausgeführt, oder ?

MfG
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#6

Re: Form vor Mainform erstellen

  Alt 19. Jun 2007, 18:59
Es gibt 2 möglichkeiten
geh auf Hauptprojekt und mach Rechtsklick -> Quellcode anzeigen.

Bsp:
Delphi-Quellcode:

uses
  Forms,
  main in 'main.pas{frmEH},
  nduTrayIcon in '..\ndu Klassen\nduTrayIcon.pas',
  addvokabel in 'addvokabel.pas{frmAV};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TfrmEH, frmEH); <- MainForm
  Application.CreateForm(TfrmAV, frmAV); <- 2 Form
  Application.Run;
end.
Entweder du Tauscht die beiden Zeilen mit CreateForm aus oder du nihmst die Zeile des 2 Forms raus und erstellst das 2 Form beim MainForm -> OnCreate mit. Aber du musst auf passen da du es dann auch wieder Freigibst bei OnDestroy.
Programmieren ..... .
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Form vor Mainform erstellen

  Alt 19. Jun 2007, 19:04
Hi nitschchedu,

wenn Du die Einträge einfach vertauschst, ist die 2. Form die "MainForm". Funktionieren tut das so:

Delphi-Quellcode:
uses
  Forms,
  main in 'main.pas{frmEH},
  nduTrayIcon in '..\ndu Klassen\nduTrayIcon.pas',
  addvokabel in 'addvokabel.pas{frmAV};

{$R *.res}

begin
  Application.Initialize;
  form2 := TForm2.Create(Application);
  Application.CreateForm(TfrmEH, frmEH);
  Application.Run;
end.
Jetzt wird form2 zwar vor der eigentlichen Mainform erstellt, jedoch wird Form2 nicht als Mainform wahrgenommen.
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#8

Re: Form vor Mainform erstellen

  Alt 19. Jun 2007, 19:08
Du musst es auch als

Application.CreateForm(Tform2, form2); Erstellen oder du lässt es und nihmst du Zeile da weg und gehst in die
MainForm.OnCreate(..)
begin
form2 := TForm2.Create(Application);
end;

und machst es da so
Programmieren ..... .
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Form vor Mainform erstellen

  Alt 19. Jun 2007, 19:10
Wie dem auch sei, es kommt aufs gleiche raus, man muss nur dran denken, Form2 auch wieder freizugeben!
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#10

Re: Form vor Mainform erstellen

  Alt 19. Jun 2007, 19:12
Zitat von Die Muhkuh:
Wie dem auch sei, es kommt aufs gleiche raus, man muss nur dran denken, Form2 auch wieder freizugeben!
Das hatte ich oben auch schon gesagt
Programmieren ..... .
  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 17:29 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