Autor Beitrag
Fabian E.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 554

Windows 7 Ultimate
Visual Studio 2008 Pro, Visual Studion 2010 Ultimate
BeitragVerfasst: Do 01.05.08 17:33 
hallo zusammen,

ich habe hier ein sehr merkwürdiges Problem.
Ich habe in meiner Anwedung mehrere Formulare.
Sobald ich nun meine Anwedung starte, wird korrekterweiße die Mainform angezeigt.
Allerdings kommt dazu noch eine andere Form. :shock:
Ich habe keine Ahnung vorher... Ich rufe sie nicht auf und gar nichts... :(
Die wird erst bei einem OnClick eines Buttons angezeigt, der wiederrum auf einer anderen Form ist...
Hat jemand eine Idee? Vielleicht irgendwas in der IDE?

Der Fehler ist erst seit kurzem vorhanden... soweit ich weiß habe ich nur einen neuen Button auf der Form platziert... :(

gruß
Einloggen, um Attachments anzusehen!
FSS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 83

Win 7 Professional 64Bit
Delphi 7 PE, Delphi 2005 PE, Turbo Delphi Explorer 2006
BeitragVerfasst: Do 01.05.08 17:47 
Kannst du den entsprechenden Quelltext posten in dem du den Fehler vermutest, dann kann ich es mal anschauen?
Clemens L.
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 158

Win Xp SP3
D6 Enterprise, Turbo Delphi Explorer
BeitragVerfasst: Do 01.05.08 18:44 
Delphi 2007 habe ich zwar nicht, aber in Delphi 6 gibt es unter "Projekt -> Optionen..." Die Registerkarte Formulare wo steht welche Formulare automatisch erzeugt werden sollen. Da kann man die rausnehmen / reintun, vielleicht ist das bei dir der Fall.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Do 01.05.08 18:53 
Hast du bei der Form vielleicht im OI die Eigenschaft Visible auf True gestellt?

_________________
We are, we were and will not be.
Fabian E. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 554

Windows 7 Ultimate
Visual Studio 2008 Pro, Visual Studion 2010 Ultimate
BeitragVerfasst: Do 01.05.08 19:04 
user profile iconGausi hat folgendes geschrieben:
Hast du bei der Form vielleicht im OI die Eigenschaft Visible auf True gestellt?


Ja hatte ich :autsch:
Ich hab eben festgestellt, dass man das so verhindern kann und dachte mir so, dass das ja nicht grade die schönste Lösung sei... :roll:
Hmm... Naja okay... :lol:
Aber danke. Wusste gar nicht, dass das solche Auswirkungen hat...
Aber eine Frage bleibt noch... Warum war es Visible? ;)

Naja, egal... Für die Zukunft weiß ich es! :)
Danke!

gruß
zuma
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 660
Erhaltene Danke: 21

Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
BeitragVerfasst: Fr 02.05.08 08:58 
Es ist Visible, weil du a) die eigenschaft gesetzt hast und b) das Fenster bei Programmstart implizit miterzeugst.
in deiner Haupt-Unit wird irgendwo
Application.CreateForm(TDeinFenster, DeinFenster);
aufgerufen, dadurch erzeugst du das Fenster schon beim start der Hauptunit.
verhindern des erzeugens geht z.b. so:
methode nach dem End der Fenster-implementation von Form2 deklarieren
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
type
  TForm2 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
 // außerhalb der Type-definition!!
 procedure zeigeFenster2;
// im implementation-teil dann
// das Fenster 'sich selbst' erzeugen lassen
implementation

procedure zeigeFenster2; // NICHT TForm2. somit 'global' und durch Unit-einbinden verfügbar
begin
 Application.CreateForm(TForm2, Form2);
try
 Form2.show;
finally
 Form2.Release;
end;
end;

natürlich sollte dann Form2 in Form1 in der (unteren) Uses eingebunden sein.
nun reicht ein zeigeForm2 in Form1 und das Fenster wird erst zur Laufzeit erzeugt, wenn es benötigt wird.
Nun musst du in deinem Projekt unter Optionen -> Formulare
das Form2 von 'automatisch erzeugen' nach 'verfügbare Formulare' verschieben
(bei Neu/Formular werden die immer unter 'autom. erzeugen' eingetragen)

_________________
Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!