Zitat von
S2B:
Das bedeutet, dass dein Programm einen Fehler hat.
Es soll ein Assemblerbefehl ausgeführt werden, der auf Anwendungsebene nicht erlaubt ist und
nur dem Kern des Betriebssystems vorbehalten ist. Der Fehler könnte auch eine Zugriffsverletzung
auslösen (das hängt vom Zufall ab).
Zitat von
S2B:
Der Fehler kommt nur, wenn ich die exe-Datei ausführe! Wenn ich das Programm aus Delphi heraus starte, dann geht's perfekt!
Das deutet auf nicht
initialisierte Variablen hin.
Beispiel:
Delphi-Quellcode:
var
a : boolean;
begin
if not a then // Variable wird benutzt, ohne vorher gesetzt worden zu sein
form1.Show
else
form3.ShowModal;
end;
Nichtinitalisierte Variablen haben einen zufälligen Wert. So ganz zufällig sind diese
Werte allersdings nicht, es hängt von der "Umgebung" des Programms ab.
Und daher hat die Delphi
IDE einen Einfluss auf initialisierte Variablen und
verdeckt so den Fehler.