w trakcie pisania programu do ewidencji odczynników chemicznych (baza danych oparta o pik INI) natrafilem na problem po umieszczeniu w kodze programu 2 procedur operujacych na pliku ini typu
procedure TForm1ReadData(Sender: TObject)
var
INI :TINIFIle
begin
INI.create(plik.ini);
// kilka operacji na pliku typu
Label1.Caption:=INI.ReadString('jakssekcja','costam','');
// i tak dalej
INI.Free;
// i druga procedura
procedure TForm1.WriteData(Sender: TObject)
var
INI :TINIFIle
begin
INI.create(plik.ini);
// kilka operacji na pliku typu
INI.WriteString('jakssekcja','costam',Label1.Caption);
// i tak dalej
INI.Free;
to trzecia z takimi samymi parametrami nie chce działać
W czasie kompilacji wszystko jest ok ale przy wywołaniu procedury pojawia sie komunikat błędu:
"Project Project1.exe raised exception class EaccessViolation with message 'Access violation at address 00403F28 in module 'Project1.exe' Write of address 004319D8'. Process stoped. Use Step or Run to continue."
i błąd w programie:
'Access violation at address 00403F28 in module 'Project1.exe' Write of address 004319D8'.
// sprawdzałem na innym kompie adresy są inne [rotfl]
oczywiście procedura sie nie wykonuje ;(
gdy przeniosę kod trzeciej procedury do tych dwóch poprzednich (której kolwiek) to działa bez zarzutu