Mam taką klasę
TKompy = class
public
procedure Inicjuj();
procedure Zniszcz();
function ReadKomp(ID: Integer): TKomp;
procedure WriteKomp(ID: Integer; Data: TKomp);
function KompArrayTORecord(A: TKomp): TRKomp;
function KompRecordTOArray(A: TRKomp): TKomp;
function SaveToFile(FileName: String): Integer;
private
SeparatorASCII : Integer;
Tablica : array [0..3] of TKomp;
protected
end;
no i konkretnie mnie interesuje procedurka WriteKomp:
procedure TKompy.WriteKomp(ID: Integer; Data: TKomp);
begin
Tablica[ID]:=Data;
end;
no i moze do analizy sie przydac jeszcze klasa TKomp:
TKomp = array[0..6] of string;
teraz pytanie: gdzies w programie tworze sobie zmienna oparta o te klase:
var
Kompy: TKompy;
Data: TKomp;
begin
// tu uzupelnia dane w tablicy Data
Kompy.WriteKomp(0,Data);
end.
no i niestety program sie wywala. debbuger wskazuje ze instrukcja przypisania wartosci w procedurze WriteKomp cos sie wali. ale nie wiem czemu. Mam komunikat:
Exception EAccessViolation in module blablabla i tu cyferki
POwiedzcie mi co robię nie tak ze nie mozna zapisywac do takiej zmiennej - odczyt jest bezproblemowy (tzn. nie wystepuje blad)
Wiem ze musze cos z AlloCMem,a le za chiny z TABLICAMI mi nie wychodzi