Einzelnen Beitrag anzeigen

fapsons

Registriert seit: 29. Jan 2007
Ort: Berlin
65 Beiträge
 
#1

EAccessViolation - finde den Fehler nach langer Suche nicht

  Alt 9. Mär 2007, 08:29
Hallo Leute,

ich bin ein wenig am verzweifeln. Suche nun seit Stunden den Grund dafür, warum ich direkt nach Programmstart einen EAccessViolation bekomme...

Der Fehler liegt in einer Klasse. Als das Programm noch lief, war sie wie folgt aufgebaut:

Delphi-Quellcode:
Unit DeclareTypes;
...
TSoftwarePaket = class
  private
      Software: TIntArray;
      ...
  protected
      procedure SetSprachVersion(lang: ShortInt);
      ...
  puplic
      property Sprachversion: ShortInt read GetSprachversion write SetSprachversion;
      ...
...

procedure TSoftwarePaket.SetSprachVersion(lang: ShortInt);
begin
 case lang of
   1: software[9] := Prims[13]; //Deutsch
   2: software[9] := Prims[14]; //Englisch
 end;
end;
Habe dann gestern Abend folgende Veränderungen durchgeführt, seitdem läuft es nicht mehr:

Delphi-Quellcode:
Unit SetObject Values;
...
 reg := TSoftwarePaket.Create;
 reg.Ac_ID := 0;
...


Unit DeclareTypes;

type
    TCustomer = record
      ID :Integer;
      Company :String;
      CompanyType :String;
      PAdress :String;
      Software :TIntArray;
    end;

TSoftwarePaket = class
  private
      Customer: array of TCustomer;
      ...
  protected
      procedure SetSprachVersion(lang: ShortInt);
      ...
  puplic
      Ac_ID :Integer;
      property Sprachversion: ShortInt read GetSprachversion write SetSprachversion;
      ...
...

procedure TSoftwarePaket.SetSprachVersion(lang: ShortInt);
begin
 case lang of
   1: customer[ac_ID].software[9] := Prims[13]; //Deutsch
   2: customer[ac_ID].software[9] := Prims[14]; //Englisch
 end;
end;

Kann mir jemand sagen, was ich falsch mache?


Vielen Dank!
Gruß
-fapsons--
  Mit Zitat antworten Zitat