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 1 von 3  1 23      
Yheeky

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

Zugriffsverletzung bei TStringList

  Alt 20. Feb 2008, 19:39
Hallo,

ich möchte verschiedene Funktionen und Prozeduren in einer Unit auslagern. Ich habe hierfür einen Typen definiert, den ich mit diesen bestücke.

Delphi-Quellcode:
type TFormel = class(TComponent)
  private
    TermListe : TStringList;
    function ParseTerm(Term : String) : String;
  public
    procedure Rechnen(Term : String);
  protected
    constructor Create(AOwner : TComponent); override;

end;
Unter anderem ist auch eine StringList für die einzelnen Terme dabei.

Im Konstruktor rufe ich folgendes auf:

Delphi-Quellcode:
constructor TFormel.Create(AOwner : TComponent);
begin
inherited Create(AOwner);

  //Termliste initialisieren
  TermListe := TStringList.Create;

end;
Im Programm erstelle ich dann ein Objekt:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var newFormel : TFormel;
begin
newFormel := TFormel.Create(nil);
newFormel.Rechnen(Edit1.Text);

end;
In der Rechnenfunktion wird dann auf den Term zugegriffen (z.B. TermListe.Add('Test');). Genau hier bekomme ich dann aber eine Fehlermeldung, wieso?

Wäre nett, wenn mir jemand helfen könnte. Danke!
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

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

Re: Zugriffsverletzung bei TStringList

  Alt 20. Feb 2008, 19:41
Ohne den Rest des Codes wird man Dir nicht helfen können. Ich vermute einen Seiteneffekt o.ä.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#3

Re: Zugriffsverletzung bei TStringList

  Alt 20. Feb 2008, 19:43
Die Methode Rechnen wäre bestimmt interessant zu sehen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Yheeky

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

Re: Zugriffsverletzung bei TStringList

  Alt 20. Feb 2008, 19:44
Wie gesagt: ihr könnt die Funktion durch TermListe.Add('Test'); ersetzen, da tritt der Fehler auch schon auf.
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#5

Re: Zugriffsverletzung bei TStringList

  Alt 20. Feb 2008, 20:05
das ist komisch bei Delphi
Delphi-Quellcode:
Var a:TStringList;
//kann nicht mit
a:=TStringList.create;
initiert werden ,
sondern
Delphi-Quellcode:
Var a:TStrings;
a:=TStringlist.create;
I love DiscCat
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Zugriffsverletzung bei TStringList

  Alt 20. Feb 2008, 20:07
TStrings ist eine abstrakte Klasse, TStringlist die implemnetierende
Markus Kinzler
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: Zugriffsverletzung bei TStringList

  Alt 20. Feb 2008, 20:12
@busybyte: Das ist irrelevant ob du nun die Basisklasse oder eine spezifische für den Member angibst. Das macht keinen Unterschied für den o.g. Fehler. Es muss entsprechend auch nicht so deklariert werden.
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#8

Re: Zugriffsverletzung bei TStringList

  Alt 20. Feb 2008, 20:34
@muetze1:stimmt Du hast recht sorry es ist andersrum

Delphi-Quellcode:
Var a:TStrings;
begin
a:=TStrings.Create;
a.Add('Test');
end;
so rum geht es nicht.
Entschuldigung, Irre sind menschlich.
I love DiscCat
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#9

Re: Zugriffsverletzung bei TStringList

  Alt 20. Feb 2008, 21:06
Aso, nun weiss ich was du meinst. Du willst auf den abstrakten Fehler hinweisen - oder meintest du die Vererbungsreihenfolge? Bei letzterem meintest du dann wohl var vom Typ TStringList, oder nicht?
  Mit Zitat antworten Zitat
Yheeky

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

Re: Zugriffsverletzung bei TStringList

  Alt 20. Feb 2008, 21:18
Irgendwie kann ich nicht ganz folgen
Wie muss ich das denn nun machen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 04:47 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