Hallo!
Ich hab ein Problem das es wirklich in sich hat, darüberhinaus habe ich das Problem selber erstellt und kann es nun nicht mehr lösen. Verdammt! Brauche echt Hilfe.
Mein Problem:
Ich habe ein Programm mit mehreren Forms, wovon aber nur 2 relevant sind: formMain und formConEdit.
Die Fakten:
1. Unter Projekt -> Optionen ist als automatisch erstelltes Form als einziges formMain eingetragen, dementsprechend wird formMain auch am Anfang direkt sichtbar erstellt. Alles in Ordnung.
2. Auch im Project Code File ist formMain durch den Code
Application.CreateForm(TformMain, formMain); als einziges zum Createn eingetragen.
3. Da ich nun meine formConEdit dynamisch im Programm aufgrund eines ButtonOnClick Events erzeugen will, steht dort folgender Code:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TformMain.buttonBlaClick(Sender: TObject); begin formConEdit := TformConEdit.Create(self); try formConEdit.ShowModal; finally formConEdit.Free; end; end; |
So. Und damit
hat bereits alles wunderbar geklappt.
Warum nicht mehr? Was ist eigentlich mein Problem? Ja. Das frage ich mich auch. Denn:
Ich habe eigentlich nur ein bissel mit den form properties im Objektinspektor "herumgespielt", sprich ich habe das Programm mal mit anderen formStyles, nämlich MDIForm und MDIChild kompiliert, was aber natürlich nicht wirklich was brachte. Daraufhin habe ich das Programm wieder zurückgestellt, nämlich auf fsNormal. Bei allen Forms.
Und siehe da, ich bekomme auf einmal nach dem compilen die seltsamsten Fehlermeldungen.
Wenn ich nämlich nun auf den Button zum Createn des Fensters klicke (wie oben geschildert, das ist der OriginalCode), bekomme ich zuerst eine
Zugriffsverletzung und danach wird mir gesagt:
"Aus einem sichtbaren Fenster kann kein modales gemacht werden".
Häää??? Es ist doch noch garnicht sichtbar. Jeder Ratschlag, nochmal die automatischen Erzeugungsparameter zu checken, ist sinnlos, das habe ich schon öfter gemacht als im Winter Schneeflocken fallen.
Aber das war natürlich noch nicht alles. Denn: Setze ich nun die Form - um den alten Zustand hinzubekommen damit das Programm überhaupt läuft - in die automatische Erstellung und sage dem Programm anstelle des ganzen Create Krams (was ich im übrigen nicht nur mit
self sondern auch mit
application und
formMain gecheckt habe) einfach nur formConEdit.ShowModal; dann bekomme ich genau den selben Mist!
Im Übrigen schmiert sogar Delphi beim Ausführen des Programms auf einmal mitunter gern ab so dass ich das erst nach dem compilen extern alles rausbekomme.
WER KANN MIR HELFEN?? - Ich knuddel denjenigen auch ganz lieb! Ist echt lebensnotwendig, ich zweifle inzwischen an meinem Verstand!
Gibts irgend ne komische Eigenschaft die ich übersehen habe?? Im Übrigen fuchtel ich sonst im ganzen Programm nicht mit forms oder creates herum, so dass auch da kein Fehlerpotential entstehen kann. Und ich weise nochmal darauf hin dass es
vorher ging ! *help*
ein verzweifelter scape[/b]