AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MDI-Child - Zugriffsverletzung bei Zuweisung

Ein Thema von Mr_G · begonnen am 10. Jul 2005 · letzter Beitrag vom 10. Jul 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#1

MDI-Child - Zugriffsverletzung bei Zuweisung

  Alt 10. Jul 2005, 18:25
Hi!
Ich habe folgendes Problem: Ich habe eine MDI-Anwendung in der ich ein MDI-Kindfenster erstellen möchte. Das Hauptformular wird logischerweise automatisch erzeugt, das Kindfenster jedoch nicht. Nun erzeuge ich im Laufe des Progammablaufs besagtes Kindfenster und zeige es an.
Delphi-Quellcode:
frm_kind := Tfrm_kind.Create(Self);
frm_kind.Show;
Im OnShow-Ereignis des Kindfensters wird nun einem Textfeld ein Inhalt zugewiesen und dabei tritt eine Zugriffsverletzung auf. Die Zuweisung ist an sich korrekt doch beim Debuggen gibt es scheinbar Probleme mit dem Textfeld. Der Fehler tritt jedoch nicht auf wenn ich auch das Kindfenster automatisch erzeugen lasse. Ich vermute das das auch irgendwie mit dem Splashscreen und seiner Entstehung zusammenhängt. Den Splashscreen habe ich nach dem Tutorial von sakura eingebaut.
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#2

Re: MDI-Child - Zugriffsverletzung bei Zuweisung

  Alt 10. Jul 2005, 18:27
Was für eine Fehlermedlung kommt den?
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#3

Re: MDI-Child - Zugriffsverletzung bei Zuweisung

  Alt 10. Jul 2005, 18:33
Zitat von Mr_G:
Im OnShow-Ereignis des Kindfensters wird nun einem Textfeld ein Inhalt zugewiesen und dabei tritt eine Zugriffsverletzung auf.
Wahrscheinlich ist dein Textfeld noch nicht vollständig initialisiert. Deshalb setze mal folgende zeile vor deinen Anweisungen (also als erstes im OnShow-Ereignis des Childs)

  inherited Show;
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: MDI-Child - Zugriffsverletzung bei Zuweisung

  Alt 10. Jul 2005, 18:42
Zitat von Taladan:
  inherited Show;
Was soll denn das bringen?

Aber die hier bereitgestellten Infos sind auch dermaßen rar... da kann man ja nur raten.

@Mr_G
Ich weiß nicht wie du es machst, aber wenn ich weiß dass es irgendwo zickt, dann setze ich natürlich einen Breakpoint davor!
Und schon weiß ich genau wo es zickt. Wäre also ganz nett wenn du das mal machen könntest um wenigstens ein/zwei Code Zeilen präsentieren zu könnnen, die den Fehler produzieren.
Das hier hilft doch nicht weiter, wenn du schon selbst sagst, dass du einen Handler für OnShow geschrieben hast:
Zitat:
Delphi-Quellcode:
frm_kind := Tfrm_kind.Create(Self);
frm_kind.Show;
Ich könnte dir also nicht mehr sagen als dass der Fehler in einem überschriebenen Constructor, OnCreate,OnShow,OnFragsPferd,... steckt.

btw: frm_kind ist hoffentlich nicht diese komische globale Variable vom Formdesigner. Wenn ja überrascht mich der Fehler bei einer MDI-App überhaupt nicht...
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#5

Re: MDI-Child - Zugriffsverletzung bei Zuweisung

  Alt 10. Jul 2005, 18:59
@ Robert_G: Lesen bildet!
Zitat:
Im OnShow-Ereignis des Kindfensters wird nun einem Textfeld ein Inhalt zugewiesen und dabei tritt eine Zugriffsverletzung auf.
Nun nochmal für den Herrn der nur Delphi versteht: Edit.Text := 'Test';
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#6

Re: MDI-Child - Zugriffsverletzung bei Zuweisung

  Alt 10. Jul 2005, 19:02
Zitat von Robert_G:
Zitat von Taladan:
  inherited Show;
Was soll denn das bringen?
Hat bei mir eine genau diesen (oder zumindest einen ähnlichen) Fehler verhindert. Warum kann ich dir net sagen (da habe ich noch mit globalen variablen gearbeitet)
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#7

Re: MDI-Child - Zugriffsverletzung bei Zuweisung

  Alt 10. Jul 2005, 19:08
Zitat:
inherited Show;
Hilft leider nicht...
Aber mal eine andere Frage: Wie ersetzt du globale Variablen und wie hängt das mit den Zugriffsverletzungen zusammen?
Jan
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#8

Re: MDI-Child - Zugriffsverletzung bei Zuweisung

  Alt 10. Jul 2005, 19:23
Zitat von Mr_G:
Zitat:
inherited Show;
Hilft leider nicht...
Hätte auch nur helfen können, wenn du dort irgendetwas initialisierst.
Zitat von Mr_G:
Aber mal eine andere Frage: Wie ersetzt du globale Variablen und wie hängt das mit den Zugriffsverletzungen zusammen?
Ist doch klar: Du hast eine MDI App, somit hast wohl du mehr als eine Instanz der Variablen.
Wenn du nun (sinnloserweise) das ganze in eine globale Variable packst wird da immer das Child drin sein, dass dort zuletzt gelandet ist. Und wenn du diese sogar in den Events von Tfrm_kind benutzt (also frm_kind) na dann gute Nacht.
Dann wird der Code zu einer Hälfte self, zur anderen irgendwas benutzen, das zuletzt in diese olle Variable geschrieben wurde. Prost Mahlzeit!

Kommentiere frm_kind :Tfrm_kind einfach mal aus. Überall wo es jetzt knallt war ein Fehler im Code.


Für das Ersetzen bzw. Unnötigmachen von globalen Variablen gibt es hier X Threads bzw. mind. die Hälfte aller Quellcodes, die man heutzutage im Internet sieht dürfte frei von solchen alten Unsitten sein. Es ist also sehr wahrscheinlich, dass du für Probleme eine Lösung ohne "sowas" findest.
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#9

Re: MDI-Child - Zugriffsverletzung bei Zuweisung

  Alt 10. Jul 2005, 19:37
Zitat:
Kommentiere frm_kind :Tfrm_kind einfach mal aus. Überall wo es jetzt knallt war ein Fehler im Code.
Wenn ich das gemacht habe sagt Delphi das frm_kind das Formular frm_kind referenziert das wiederum in der Unit dlg_kind ist. Es will nun die Unit einbinden doch wenn die Unit eingebunden wird bekomme ich logischerweise den Fehler das sich die Unit selber aufruft? Wo soll da nun der Fehler liegen?

Btw: Vielen Dank für die schnelle Hilfe!
Jan
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#10

Re: MDI-Child - Zugriffsverletzung bei Zuweisung

  Alt 10. Jul 2005, 19:40
Zitat von Mr_G:
Zitat:
Kommentiere frm_kind :Tfrm_kind einfach mal aus. Überall wo es jetzt knallt war ein Fehler im Code.
Wenn ich das gesagt habe sagt Delphi das frm_kind das Formular frm_kind referenziert das wiederum in der Unit dlg_kind ist. Es will nun die Unit einbinden doch wenn die Unit eingebunden wird bekomme ich logischerweise den Fehler das sich die Unit selber aufruft? Wo soll da nun der Fehler liegen?
Dann benutzt du es sogar in der gleichen Unit und Delphi ist hier wohl etwas zu "schlau". Auswirkubgen: siehe Prost Mahlzeit
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:05 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