Einzelnen Beitrag anzeigen

No0oB

Registriert seit: 29. Mai 2006
Ort: Hanau
16 Beiträge
 
Delphi 2005 Personal
 
#1

Zugriffsverletzung bei Kompilierung

  Alt 11. Sep 2007, 18:32
Hallo Community.
Ich stehe gerade vor einem eigenartigen Problem und ich hoffe, dass ihr mir dabi weiterhelfen könnt.
Ich schreibe gerade ein Übungsprogramm für die Schule, wo OOP nähergebracht wird, an Beispiel eines Autos.
Alles klappt wunderbar, nun möchte ich ein Attribut "Log" füllen und da hängt es bei mir.
Ich werde die Codeschnipsel anhängen, jedoch werde ich das Problem beschreiben, bevor ich das mache.

Ich möchte in Prozeduren (auch im Konstruktor) auf eine Prozedur zugreifen, die mir einen Logeintrag erstellt.
Wenn ich dies mache, erhalte ich die Fehlermeldung
Zitat:
Zugriffsverletzung bei Addresse 00403F38 in Modul 'Auto.exe'. Schreiben von Addresse FFFFFFFC.
Ich nehme an, dass irgendwo ein Zugriff nicht erlaubt ist, obwohl mir das sehr eigenartig erscheint, da die Prozedur public ist.
Naja, ohne Code lässt sich nur herumraten, daher folgen hier die Codeschnipsel.

Das Programm besteht aus dem Formular und einer zusätzlichen Unit (uTAuto), welches die Autoklasse beinhaltet.
Hier sind also die Codeschnipsel (Ich habe das, was nicht zu dem Problem gehört, weggelassen):

Hier die Deklarationen
Code:
{  Define the type for returning arrays }
  type TStringArray = array of string;
  type TAuto = class
    private
      Log: TStringArray;
    public
      function getLog: TStringArray;
      procedure writeLogEntry(msg:string);
  end;
Hier die Funktion getLog
Code:
function TAuto.getLog: TStringArray;
  begin
    getLog := self.Log;
  end;
Zuletzt die Prozedur writeLogEntry
Code:
procedure TAuto.writeLogEntry(msg:string);
  var newKey: integer;
  begin
    newKey := High(self.Log);
    self.Log[newKey] := msg;
  end;
Ich hoffe mir kann jemand helfen,
Danke.
blah
  Mit Zitat antworten Zitat