![]() |
Fehler beim Aufrufen einer MDI Form
Tach,
Ich versuche eine MDI-Form zu erstellen mit verschiedenen MDI-Child Formen. Folgenden Code verwende ich um die MDI-Form aufzurufen. (das Ganze ist so kompliziert weil ich die Form mehrfach aufrufen möchte):
Delphi-Quellcode:
Die MDI-Child Form rufe ich nach dem selben Prinzip auf:
//......
public { Public-Deklarationen } aDrawForm: Array of TfrmConnection; //..... procedure TfrmMain.OpenForm(); begin SetLength(aDrawForm,Length(aDrawForm)+1); aDrawForm[Length(aDrawForm)-1] := TfrmConnection.Create(Application); aDrawForm[Length(aDrawForm)-1].Show; aDrawForm[Length(aDrawForm)-1].MyFormID:=Length(aDrawForm)-1; aDrawForm[Length(aDrawForm)-1].frmTest:=aDrawForm[Length(aDrawForm)-1]; end;
Delphi-Quellcode:
Immer wenn ich versuche eine MDI-Child Form zu laden kommt folgender Fehler:
//......
frmTest2: TfrmTest2; //...... frmTest2:= TfrmTest2.Create(Application); frmTest2.Show; Zitat:
|
Re: Fehler beim Aufrufen einer MDI Form
Fehlermeldung steht doch da:
Zitat:
|
Re: Fehler beim Aufrufen einer MDI Form
Das Problem ist ja das die Form (frmTest) aus der heraus das MDI-Child (frmTest2) aus aufgerufen wird, als MDI-Form deklariert ist.
Deshalb versteh ich die Meldung auch nicht. |
Re: Fehler beim Aufrufen einer MDI Form
Ok, das Problem ist scheinbar folgendes, ich habe folgende Forms:
Form1: fsNormal Form2: fsMDIForm Form3: fsMDIChild Aus der Form1 heraus rufe ich die Form2 auf, was meine eigendliche fsMDIForm ist, aus dieser Form wiederum (Form2) will ich jetzt das fsMDIChild (Form3) aufrufen, wobei er mir den o.g Fehler bringt. Scheinbar versucht er das fsMDIChild (Form3) in Form1 zu erstellen anstatt wie gewollt in Form2 (fsMDIForm), das dann ein Error kommt ist klar. Wie kann ich das ändern?? |
Re: Fehler beim Aufrufen einer MDI Form
Form1 muss fsMDIForm sein.
|
Re: Fehler beim Aufrufen einer MDI Form
Nein dann würde er das MDIChild (Form3) in Form1 anzeigen und nicht wie gewollt in Form2.
|
Re: Fehler beim Aufrufen einer MDI Form
Anders gehts afaik aber nicht, da das Hauptformular (das was zuerst im Projekt erzeugt wird), das MDI-Formular sein muss.
Überdenke dein Konzept. ;) |
Re: Fehler beim Aufrufen einer MDI Form
Das MDI Formular muss aber Mehrfach geladen werden können.
Geht nicht gibts nicht. Es muss eine Lösung geben. ![]() |
Re: Fehler beim Aufrufen einer MDI Form
Er sagt, dass es sehr aufwändig ist, dieses Konzept der VCL umgehen. Ergo: Fängt man mit unsauberen Hacks an, die wahrscheinlich am Application-Objekt irgendwas rumbiegen und nur Fehleranfällig sind. :nerd:
Wenn du mehrere MDI-Formulare brauchst, warum legst du diese nicht als externe Anwendung ab, die du dann einfach gewünscht startest? |
Re: Fehler beim Aufrufen einer MDI Form
Weil ich Sockets verwende und nicht wüsste wie ich aus den MDI Forms heraus mit dem Socket in der Hauptanwendung komunizieren sollte.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz