Der Fehler tritt auf, nachdem das Delphiprogramm (Application-Object) beendet wurde. Du kannst versuc hen, mit dem integrierten Debugger der
IDE den Fehler zu lokalisieren. Stelle die Compiler-Option 'Mit Debug-
DCU' in den Projektoptinen ein, setze einen Breakpoint auf die letzte Zeile des Programmquelltextes (auf das 'End.') und beende dein Programm in der
IDE.
Dann gehst Du per Einzelschritt vorwärts. Diese Fehler sind nicht leicht zu lokalisieren, vermutlich wird irgendwo im finalization-Abschnitt ein Objekt verwendet, das nicht mehr gültig ist. Kandidaten dafür sind z.B. Threads, die in ihrer Terminationsroutine auf Objekte der
Unit 'Classes' zugreifen, die aber schon freigeben wurden.
Abhilfe: Gib die Threads frei BEVOR das Programm terminiert.
Virus & Co kann man zu 99.999% ausschließen. Der Fehler liegt
immer im Programm(ierer).