Il problema è dovuto al fatto che il tuo programma deve rispondere correttamente alla richiesta fatta da Windows al momento della chiusura di quest'ultimo.
Ad esempio, puoi introdurre nel tuo form principale un metodo apposito per la gestione del messaggio; nella dichiarazione:
codice:
procedure WMQueryEndSession(var Msg: TWMQueryEndSession); message WM_QUERYENDSESSION;
Nell'implementazione, qualcosa di simile a:
codice:
procedure TMainForm.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
// Query Windows shutdown
try
try
// OPERAZIONI NECESSARIE ALLA CHIUSURA DEL PROGRAMMA
Self.Close;
except
// No action
end;
finally
Msg.Result := 1;
end;
end;
Ciao!
P.S.: per domande relative ad argomenti differenti, apri una discussione nuova.
Ciao!