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--