AGB  ·  Datenschutz  ·  Impressum  







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

Zugriffsverletzung bei TStringList

Ein Thema von Yheeky · begonnen am 20. Feb 2008 · letzter Beitrag vom 21. Feb 2008
Antwort Antwort
Seite 3 von 3     123   
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#21

Re: Zugriffsverletzung bei TStringList

  Alt 20. Feb 2008, 23:15
naja dann fang mal mit so banalen Sachen an wie nen Breakpoint auf den Create-Aufruf zu machen oder mal sowas wie
Delphi-Quellcode:
if Assigned(TermListe) then
  TermListe.Add('blA');
und dann darauf nen Breakpoint usw^^
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#22

Re: Zugriffsverletzung bei TStringList

  Alt 20. Feb 2008, 23:26
Vererb doch mal von TObject statt von TComponent.
  Mit Zitat antworten Zitat
Benutzerbild von Andreas H.
Andreas H.

Registriert seit: 3. Mär 2006
Ort: Schopfloch
163 Beiträge
 
Delphi 2006 Professional
 
#23

Re: Zugriffsverletzung bei TStringList

  Alt 21. Feb 2008, 03:42
Hallo,

ein Component ohne Owner?
newFormel := TFormel.Create(nil); Ich würde auch von TObject ableiten. Oder soll es mal zu einer Komponente ausgebaut werden?

Gruß Andreas
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#24

Re: Zugriffsverletzung bei TStringList

  Alt 21. Feb 2008, 06:09
Zitat von Andreas H.:
ein Component ohne Owner?
Wieso nicht?

@Yheeky: Bitte poste ein Beispielprojekt, das den Fehler reproduzierbar provoziert. Ich glaube nämlich nicht, das da nicht noch mehr Code ist.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
jottkaerr

Registriert seit: 2. Jul 2007
Ort: Tuttlingen
81 Beiträge
 
Delphi 10.1 Berlin Professional
 
#25

Re: Zugriffsverletzung bei TStringList

  Alt 21. Feb 2008, 06:35
Hallo,

befindet sich TFormel wirklich in einer anderen Unit? Dann kann der Konstruktor nicht aufgerufen werden, weil er protected ist. Mit TFormel.Create(nil) rufst Du also den Konstruktor von TComponent auf, und TFormel.TermListe wird nie erzeugt.

jkr
Jürgen Krämer
Sometimes I think the surest sign that intelligent life exists elsewhere
in the universe is that none of it has tried to contact us. (Calvin)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#26

Re: Zugriffsverletzung bei TStringList

  Alt 21. Feb 2008, 07:24
Hallo,

erstelle ein komplettes Beispiel-Projekt, zippe es
und hänge es an ein Post an.
Der Fehler kommt von was anderem.


Heiko
Heiko
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#27

Re: Zugriffsverletzung bei TStringList

  Alt 21. Feb 2008, 10:24
Zitat von jottkaerr:
Hallo,

befindet sich TFormel wirklich in einer anderen Unit? Dann kann der Konstruktor nicht aufgerufen werden, weil er protected ist. Mit TFormel.Create(nil) rufst Du also den Konstruktor von TComponent auf, und TFormel.TermListe wird nie erzeugt.

jkr
Guter Punkt.

Setz doch mal einen Breakpoint und schau, ob der Debugger da anhält.
Delphi-Quellcode:
constructor TFormel.Create(AOwner : TComponent);
begin
inherited Create(AOwner);

  //Termliste initialisieren
  TermListe := TStringList.Create; // <<<< Hier Breakpoint setzen

end;
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#28

Re: Zugriffsverletzung bei TStringList

  Alt 21. Feb 2008, 10:50
Zitat von jottkaerr:
Hallo,

befindet sich TFormel wirklich in einer anderen Unit? Dann kann der Konstruktor nicht aufgerufen werden, weil er protected ist. Mit TFormel.Create(nil) rufst Du also den Konstruktor von TComponent auf, und TFormel.TermListe wird nie erzeugt.

jkr
Super Einwand! Daran lag´s! Der Konstruktor muss also public sein, damit ich ihn auch von anderen Projekten aus aufrufen kann, richtig?

DANKE für die Hilfe!
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#29

Re: Zugriffsverletzung bei TStringList

  Alt 21. Feb 2008, 13:16
Ja, sonst ist er nicht nach aussen hin "sichtbar" und dadurch wird der Standard-Constructor aufgerufen. Eigentlich logisch ... Nur manchmal sieht man den Wald vor lauter Bäumen nicht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 00:27 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