Witam, piszę program w którym jest zdefiniowana klasa Wypozyczenie:
type
TWypozyczenie = class
private
public
ID_wypo, ID_klie, max : integer;
ID_publ : string;
datap: TDate;
datak: TDate;
oddane : bool;
constructor StworzWypozyczenie(ID_kl : integer; ID_pu : string);
overload;
constructor StworzWypozyczenie(ID_pu : string); overload;
procedure Wydaj();
procedure Oddaj();
end;
Ma ona dwa konstruktory, jeden z nich wygląda tak:
onstructor TWypozyczenie.StworzWypozyczenie(ID_kl: integer; ID_pu: string);
begin
id_klie := ID_kl; id_publ := ID_pu;
end;
Kiedy próbuję go wywołać z funkcji:
procedure TFormNoweWypozyczenie.BNoweWypozyczenieClick(Sender: TObject);
begin
//(..)
//2. Stworzenie obiektu
Wypozyczamy.StworzWypozyczenie(klient, TBid_publ.Text);
//(..)
end;
Podczas testowania działania funkcji wyskakuje mi błąd EAccessViolation i zaznacza się jedyna linia konstruktora.
Myślałem, że zmienne i z public i z private są dostępne dla procedur wewnętrznych obiektu, ale nawet jak przeniosłem deklaracje wszystkich pól do public, błąd nadal występuje.
Jest to moje pierwsze podejście do obiektowości od jakiegoś czasu, poza tym w Delphi programuję od niecałych 2 tygodni, więc wybaczcie jeśli popełniłem jakiś strasznie podstawowy błąd :)