AGB  ·  Datenschutz  ·  Impressum  







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

Mainform nach anderen Formen createn

Ein Thema von Salomon · begonnen am 18. Okt 2002 · letzter Beitrag vom 18. Okt 2002
Antwort Antwort
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#1

Mainform nach anderen Formen createn

  Alt 18. Okt 2002, 13:10
Hallo,
wie bekommt man es hin, das die Form1 nach den übrigen Formen erstellt wird, aber trotzdem das Hauptformular ist?
Ich brauche nämlich Daten aus den anderen Formen, die zu dem Zeitpunkt natürlich noch nicht "created" sind.

Das "FormShow" event der Form1 fällt weg, da ich wenn ein Checkbox einer anderen Form aktiviert ist, die Form1 nicht anzeigen möchte.
Befehle wie application.minimize oder hide sind im OnShow event nicht möglich.

Mfg
Salomon
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2
  Alt 18. Okt 2002, 13:43
Gar nicht. Das erste erstellte Form wird automatisch das MainForm.

Aber, füge in den Public Bereich Deines Form eine Procedure hinzu, welche zum Beispiel InitData heisst, und rufe die im Programm direkt vor Application.Run mit Form1.InitData auf.
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#3
  Alt 18. Okt 2002, 14:29
Hört sich gut an, nur mache ich noch was Falsch. Momentan sieht das bei mir so aus:

Form1:
Code:
  private
    { Private declarations }
  public
    { Public declarations }
    Procedure InitData;
  end;
In Hauptprogramm dann so:
Code:
begin
  Application.Initialize;
  Application.Title := 'Salomon''s Relais8 Controll';
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(Tprogconfig, progconfig);
  Application.CreateForm(Tcomconfig, comconfig);
  Form1.InitData; // Daten initialisieren
  Application.Run;
end.
Ich bekomme dann die folgende Compiler Fehlermeldung:
[Error] Unit1.pas(140): Unsatisfied forward or external declaration: 'TForm1.InitData'

Was mache ich an den Deklarationen falsch?

Mfg Salomon
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#4
  Alt 18. Okt 2002, 14:38
Du musst in die Unit von Form1 noch die eigentliche Prozedure

TForm1.InitData;
begin
....
end;

einfügen. Delphi findet zwar die Deklaration, aber nicht die Implementation.
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#5
  Alt 18. Okt 2002, 15:27
Du hast recht, ich hatte bei der Implementierung das TForm1 vor dem Procedure Namen vergessen.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#6
  Alt 18. Okt 2002, 15:30
Diesen Fehler kannst Du recht einfach umgehen, indem Du, nach dem deklarieren der Funktion [Ctrl]+[Alt]+[C] drückst. (Code-Completion)
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  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 00:18 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