Man prüft nicht auf Admin, sondern auf das Recht, was man benötigt.
Es ist vollkommen egal, ob der aktuelle Nutzer ein Administrator ist.
* er kann dennoch das nötige Recht nicht besitzen
(ja, man kann einem/allen Admin sämtliche Rechte entziehen, so dass er am Ende weniger darf, als ein popeliger User)
* und selbst wenn er das Recht hätte, muß es nicht sein, dass er es auch "jetzt" aktiv hat (zu Recht werden Admins standardmäßig nicht mit allen Rechen eingeloggt ->
UAC-Restrictions)
Du weißt was ein Debugger ist?
Zitat:
if I = mrNo then
Jemand drückt aber nicht zufällig auf [X] oder nutzt [ESC] ?
mrCancel (oder war's mrAbort)
Zitat:
Delphi-Quellcode:
SplashForm.Close;
end;
end;
showmessage('uuuu'); // hier wird kein Dialog angezeigt.
Vor dem .Close noch ein .Hide oder besser gleich direkt ein .Free.
Close schließ nicht sofort,
somit ist beim ShowMessage die Form1+SlashForm noch da, wird kurz danach geschlossen.
VCL-Dialoge hängen sich an die ActiveForm (deine Form1 bzw. SplashForm) und wird diese freigegeben/geschlossen, dann gehen sie ebenfalls sofort wieder zu.
Also .... dein Dialog wird (bestimmt) angezeigt, für paar Millisekunden.
[edit] Gehen die Forms auch so zu, selbst wenn "diese" Close nicht ausgeführt werden? [/edit]