AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi [MDI] Anderes Fenster gleich beim Start öffnen

[MDI] Anderes Fenster gleich beim Start öffnen

Ein Thema von MarvinM · begonnen am 29. Jan 2007 · letzter Beitrag vom 2. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von MarvinM
MarvinM

Registriert seit: 24. Jul 2006
94 Beiträge
 
#1

[MDI] Anderes Fenster gleich beim Start öffnen

  Alt 29. Jan 2007, 16:44
Hallo zusammen!

Ich habe ein MDI Form in diesem will ich direkt beim Start eine MDIChild aufrufen.

Delphi-Quellcode:
procedure TMDIFrame.FormCreate(Sender: TObject);
begin
  Neutral := TNeutral.Create(self);
end;
MDIFrame ist fsMDIForm und Neutral ist fsMDIChild

Wenn ich nun das Programm starte kommt eine Fehlermeldung, die besagt, dass das Formular nicht erstellt werden konnte, weil zur Zeit keine MDI-Formulare aktiv sind.

Wenn ich das ganze Procedure in ein Button.OnClick verlagere geht es.

Das in .Loaded zu verschieben bringt auch nichts

Danke schonmal für eure Antworten!
Mfg Marvin

Carpe Diem! - Genieße den Tag! - [gr. Horaz]
> Meine Homepage - http://www.prettyprograms.de <
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#2

Re: [MDI] Anderes Fenster gleich beim Start öffnen

  Alt 29. Jan 2007, 17:04
Benutze einen kleinen Trick:
Du führst einen Member FFirstShow ein, den Du im Constructor auf true setzt. Im FormShow prüfst Du, ob der Member gesetzt ist und wenn ja, erstellst Du das Childfenster und setzt den Member auf false.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
Benutzerbild von MarvinM
MarvinM

Registriert seit: 24. Jul 2006
94 Beiträge
 
#3

Re: [MDI] Anderes Fenster gleich beim Start öffnen

  Alt 29. Jan 2007, 17:05
Danke für deine Antwort!

Aber was ist ein Member und wie deklariere ich das?

//EDIT: Ja alles klar, aber wenn das nicht true sein sollte, dann wird doch mein Fenster nicht aufgerufen, oder?
Mfg Marvin

Carpe Diem! - Genieße den Tag! - [gr. Horaz]
> Meine Homepage - http://www.prettyprograms.de <
  Mit Zitat antworten Zitat
Benutzerbild von MarvinM
MarvinM

Registriert seit: 24. Jul 2006
94 Beiträge
 
#4

Re: [MDI] Anderes Fenster gleich beim Start öffnen

  Alt 1. Feb 2007, 15:09
Hat denn keiner eine Idee?

Soll ich noch Code posten? Ist kein Problem!
Mfg Marvin

Carpe Diem! - Genieße den Tag! - [gr. Horaz]
> Meine Homepage - http://www.prettyprograms.de <
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: [MDI] Anderes Fenster gleich beim Start öffnen

  Alt 1. Feb 2007, 16:29
im OnCreate existiert das ganze einfach noch nicht. Und mit Member ist eine Variable gemeint die zu einer Klasse gehört (im private, public, protected etc. definiert). Es ging bei der Idee also darum beim ersten OnShow das MDI-Child zu erstellen.
Letztendlich musst du einfach nur sicherstellen dass, das Create des ersten Forms abgeschlossen ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von MarvinM
MarvinM

Registriert seit: 24. Jul 2006
94 Beiträge
 
#6

Re: [MDI] Anderes Fenster gleich beim Start öffnen

  Alt 1. Feb 2007, 16:41
Hallo,

Wie kann ich denn sicherstellen, dass das Create des Forms abgeschlossen ist?
Den Code in OnShow zu kopieren bringt nichts.

Ich kann auch nicht eine Abfrage einbauen, die das Öffnen des Unterformulars verhindert, da ich das Unterformular brauche.
Mfg Marvin

Carpe Diem! - Genieße den Tag! - [gr. Horaz]
> Meine Homepage - http://www.prettyprograms.de <
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#7

Re: [MDI] Anderes Fenster gleich beim Start öffnen

  Alt 1. Feb 2007, 16:50
Delphi-Quellcode:
TMyForm=Class(TForm)
 private
  ...
  FFirstShow: Boolean;
 protected
  ...
  Procedure DoShow; Override;
 public
  ...
  Constructor Create(AOwner: TComponent); Override;
 end;

...
Implementation
...
Constructor TMyForm.Create(AOwner: TComponent);
Begin
  Inherited;
  FFirstShow:=True;
End;
...
Procedure TmyForm.DoShow;
Begin
  Inherited;
  If FFirstShow
  Then begin
    Neutral:=TNeutral.Create(Self);
    Neutral.Show;
    FFirstShow:=False;
  End;
End;
...
Ich hoffe, das war jetzt deutlich.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
Benutzerbild von MarvinM
MarvinM

Registriert seit: 24. Jul 2006
94 Beiträge
 
#8

Re: [MDI] Anderes Fenster gleich beim Start öffnen

  Alt 1. Feb 2007, 17:01
Danke für deine Antwort.

Ja war es, aber diese Methode bringt auch nicht den gewünschten Effekt, es kommt immernoch die Fehlermeldung, dass zur Zeit kein MDI-Formular aktiv seie.
Mfg Marvin

Carpe Diem! - Genieße den Tag! - [gr. Horaz]
> Meine Homepage - http://www.prettyprograms.de <
  Mit Zitat antworten Zitat
Benutzerbild von MarvinM
MarvinM

Registriert seit: 24. Jul 2006
94 Beiträge
 
#9

Re: [MDI] Anderes Fenster gleich beim Start öffnen

  Alt 2. Feb 2007, 17:35
Muss ich den Code vielleicht in ein anderes Ereignis schreiben (OnShow etc.) ?

Oder muss ich doch einen Timer machen, der den Code nach 5 sekunden ausführt? Das würde ich ungerne machen, weil es is ja nicht so praktisch...

Gibt es da einen Weg oder bin ich auf verlorenem Posten?
Mfg Marvin

Carpe Diem! - Genieße den Tag! - [gr. Horaz]
> Meine Homepage - http://www.prettyprograms.de <
  Mit Zitat antworten Zitat
Benutzerbild von Andreas H.
Andreas H.

Registriert seit: 3. Mär 2006
Ort: Schopfloch
163 Beiträge
 
Delphi 2006 Professional
 
#10

Re: [MDI] Anderes Fenster gleich beim Start öffnen

  Alt 2. Feb 2007, 17:58
Hm,

warum stellst Du in den Projektoptionen nicht ein, dass das Formular automatisch erzeugt werden soll?

Gruß Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 10:49 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