Po kliknięciu z menu "Nowy" powinny zerować się zmienne i czyścić pola Edit formularza. Z powodu używania na tych polach funkcji StrToInt nie mogę kazać mu tam wpisać spacji przy wyborze "Nowy". Zdecydowałem się na zniszczenie i stworzenie formy:
procedure TForm_Wej.Nowy1Click(Sender: TObject);
begin
MessageBox(Handle,'Czy chcesz wyczyścić wszystkie dane?',
'Nowe obliczenia',MB_OKCANCEL + MB_IconExclamation);
Form_Wej.Free;
Form_Wej.FormCreate(self);
Form_Wej.Show;
end;
Dodatkowo Form_wej ma na ONcreate wykonać:
procedure TForm_Wej.FormCreate(Sender: TObject);
begin
//Dane
Fip:=0; fik:=0 ; dfi:=0;
thetap:=0; thetak:=0 ; dTheta:=0;
v:=0; h:=0; zeta:=0;
pt:=0; ls:=0;
PRF:=0; tau:=0;
lambda:=0; G0:=0;
//Zmienne
Nd:=0; Nr:=0; Rmax:=0;
//Tablice 1 -wym
SetLength (fd,0); // Definicja wymiaru tablicy
SetLength (R,0); SetLength (DELTAR,0);
SetLength (Ga,0); SetLength (Ge,0);
SetLength (sinusFig,0); SetLength (fig,0);
SetLength (d0,0); SetLength (MdC,0);
//Tablice 2-wym
SetLength (G, 0, 0);
SetLength (LdC,0, 0); SetLength (dA, 0, 0);
SetLength (dC, 0, 0);
end;
Problem polega na tym, że Form_Wej.Show nie pokazuje formy, a .ShowModal powoduje błąd stackOverflow lub
Project MGR.exe raised exception class EAccessViolation with message 'Access violation at address 004AC213 in module 'MGR.exe'. Read of address 00000010'.