Wenn auch spät, da ich es erst nicht hinbekommen hatte und noch an anderen Sachen gebastelt hatte, wollte ich mich nochmal melden.
Danke himitsu
die Break, exit, Constinue Befehle kannte ich vorher nicht.
Damit hat es nun geklappt, danke!
Hatte auch noch große Probleme damit, dass ich erst nicht verstanden hatte, dass trotz break der Count noch weitergeht und man dies extra berücksichtigen muss. Habe mich auch nicht getraut mich hier wegen des Problems zu melden.
Vor allem auch Danke für den Hinweis mit Close, daraufhin habe ich es dann mit Application.Terminate ersetzt und konnte es auch in FormClose einbauen.
Somit gelöst!
Code:
procedure TForm1.SafeClose;
var
b, c , z : Integer;
begin
if go then begin
if not sicher then begin
c:= Application.MessageBox('Your progress has not been saved yet. Do you want to save it now?','',3+32);
if c=7 then begin
sicher:=true;
end;
if c=2 then begin
exit;
end;
if c=6 then begin
SaveProgress;
end;
end;
if sicher then begin;
for z := 1 to Liste.Count do
if StringGrid1.Cells[2,z] = ('') then break;
if z = Liste.Count+1 then begin
Application.Terminate;
end;
b:= Application.MessageBox('Not all pictures were measured yet. Do you want to leave anyways?','',4+32);
if b=6 then begin //YES
Application.Terminate;
end;
if b=7 then begin //NO
sicher:=false;
showmessage('Picture '+IntToStr(z)+' has not been measured!');
end;
end;
end
else
Application.Terminate;
end;