AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein MDI Anwendung verursacht Schutzverletzung

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, 13: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, 13: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.250 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: MDI Anwendung verursacht Schutzverletzung

  Alt 3. Apr 2014, 13: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
1.336 Beiträge
 
#4

AW: MDI Anwendung verursacht Schutzverletzung

  Alt 3. Apr 2014, 14: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
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 19:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf