AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein MDI Anwendung verursacht Schutzverletzung
Thema durchsuchen
Ansicht
Themen-Optionen

MDI Anwendung verursacht Schutzverletzung

Ein Thema von floppybe · begonnen am 3. Apr 2014 · letzter Beitrag vom 3. Apr 2014
Antwort Antwort
floppybe

Registriert seit: 24. Dez 2008
Ort: Belp
65 Beiträge
 
Delphi XE5 Architect
 
#1

MDI Anwendung verursacht Schutzverletzung

  Alt 3. Apr 2014, 14:09
Hallo Liebe DP Gemeinde,

ich habe wieder mal eine Frage auf die ich leider keine Lösung habe.
Ich möchte ganz einfach eine MDI Anwendung erstellen, bis jetzt habe ich nur zwei Forms.

Ich habe das zweite Form aus den Projekt Optionen -> Formulare aus dem Reiter Automatisch erzeugen
rausgenommen und in den Reiter Verfügbare Formulare geschoben. Damit es nicht gleich beim starten
der Anwendung angezeigt wird.

Ich habe Form1 in den FormStyle, fsMDIForm genannt und Form2 als fsMDIChild.

Nun möchte ich entweder über Form2.ShowModal oder Form2.Create(self) das zweite
Formular erzeugen, aber dabei stürzt mir die Anwendung immer wieder ab.

Habe ich da was falsch verstanden ? Oder wesshalb passiert das ?

Code:
Zugriffsverletzung bei Adresse 006CF662 in Modul 'PLMIS.exe'. Lesen von Adresse 00000000
Ich wäre sehr froh für die Hilfe.
Christian Schär
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: MDI Anwendung verursacht Schutzverletzung

  Alt 3. Apr 2014, 14:12
TForm2.Create(self) ;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: MDI Anwendung verursacht Schutzverletzung

  Alt 3. Apr 2014, 14:28
Keines der beiden erzeugt eine Instanz ( deshalb ist diese Nil = 00000000 ). Der 1. Befehl setzt die Werte Anfang ( Init). Der 2. versucht eine, in Deinem Fall nicht existente Form-Instanz modal anzuzeigen.
Markus Kinzler
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#4

AW: MDI Anwendung verursacht Schutzverletzung

  Alt 3. Apr 2014, 15:10
Macht es doch nicht so umständlich, die Lösung ist doch trivial.

Entweder

Delphi-Quellcode:
With TForm2.Create(Self) do
begin
 Showmodal;
 free;
end;
oder bei nichtmodal
Delphi-Quellcode:
Frm : TForm2;

frm := TForm2.Create(self);
frm.Show;

Das Fenster muss dann entweder bei Programmende geschlossen werden.
Oder im Fenster selbst.
Wird das Fenster selbst, z.B. ein Endebutten geschlossen dann muss
im Ereignis onClose Action = cafree gesetzt werden.

Der Aufruf kann auch mit TForm2.Create(nil) erfolgen.
Bei Create wird der Besitzer und nicht das Parent übergeben.
Wird Owner angegeben, dann wird dieser beim Beenden das Fenster mit schließen.

Gruß
Peter
  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 22:35 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