hai un errore concettuale, la tua procedura la devi scrivere così
codice:
procedure TFMain.esci1Click(Sender: TObject);
var
rst : tipo_risposta_messagedlg;
begin
rst := messagedlg('salvare le modifiche apportate al file?', mtConfirmation,[mbYes,mbNo,mbCancel],0);
if (rst = mrYes) then
begin
if (Sd.FileName='') then
begin
Sd.Execute;
end
else if (statusbar1.Panels[0].Text= 'untitled.txt') or (statusbar1.Panels[0].Text= 'untitled.php') or (statusbar1.Panels[0].Text= 'untitled.css') or (statusbar1.Panels[0].Text= 'untitled.html') then
begin
Sd.Execute;
richedit1.Lines.SaveToFile(Sd.FileName);
end
else
begin
richedit1.Lines.SaveToFile(Sd.FileName)
end
end
else if (rst = = mrNo) then
begin
FMain.Close
end
else (rst = mrCancel) then
begin
end
end;
non mi ricordo il tipo ritornato dalla messageDlg, guardalo nella guida on line.
ciao
sergio