![]() |
MkDir ('c:\temp'); -> external exception
Hallo,
bei manchen Rechner bekomme ich bei dem Befehl
Delphi-Quellcode:
eine external exception (Nummer weiss ich leider nicht mehr).
try
MkDir ('c:\temp'); except ; stumme Exception end; IO-Prüfung ist aus. Und zwar genau dann, wenn das Laufwerk C ein CD-Laufwerk ist (DirectoryExists wird nat. vorher geprüft). Ich habe mit jetzt eine virtuelle Maschine mit C als DVD erzeugt, bekomme den Fehler allerdings nicht. Ich will das hier nachstellen, mir geht es nicht um "aber, aber, C:\temp ist doof". Ich habe so den Verdacht, dass da ein Virenscanner rummurkst, ich habe hier Eset Nod und AVG, bei beiden gibt es keine Meldung. Was jemand was darüber ? Also kurz, Verzeichnis auf RW-Laufwerk erzeugen abfangen (GetDriveType klappt nicht, das Laufwerk wird beim Kunden als Festplatte erkannt, ist so ein doofer externer Controller für USB-Geräte). Danke Heiko |
AW: MkDir ('c:\temp'); -> external exception
zu wenig Rechte ....
|
AW: MkDir ('c:\temp'); -> external exception
Im allgemeinen ist es so, daß nur der "Administrtor" genügend Rechte hat um auf C:\ Unterverzeichnisse anzulegen.
Ist C: ein RO-Medium, dann sollte ein mkdir natürlich auch vor die Wand laufen. Gruß K-H |
AW: MkDir ('c:\temp'); -> external exception
Um solche Fehler abzufangen muss der ErrorMode auf SEM_FAILCRITICALERRORS gesetzt werden (SetErrorMode). (Und normalerweise hinterher wieder zurück, den alten Wert liefert SetErrorMode dafür direkt zurück.)
|
AW: MkDir ('c:\temp'); -> external exception
Hm,
Noch mal zum Grundproblem. Beim Kunden wird eine external exeption angezeigt, bei mir nicht ! Ich kann das Problem einfach nicht nachstellen. Der Fehler kommt u.a., wenn ich OpenSSL zum Signieren benutze. OpenSSL sucht standardmäßig auf Laufwerk C nach seiner Cfg-Datei. Ich habe mich so beholfen, dass ich per SetEnvironmentVariable OPENSSL_CONF direkt im Code setzen. Auf SetErrorMode bin ich gar nicht gekommen, kenne es aber. Das Problem tritt dummerweise nur bei genau einem Kunden auf, bei ~50 anderen klappt alles, die haben allerdings Windows auch auf C installiert. Heiko |
AW: MkDir ('c:\temp'); -> external exception
Was passiert den mit
Code:
Gruß
md %HOMEDRIVE%\temp
K-H |
AW: MkDir ('c:\temp'); -> external exception
Hallo,
Noch mal die Grundfrage. Wann wird eine external exeption ausgeworfen. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz