![]() |
Bedeutung von E/A-Fehler 123?
Moin, moin,
im meiner Anwendung kommt es bei manchen Anwendern zu einem E/A-Fehler 123, bei den meisten anderen Anwendern aber nicht. Kann mir jemand sagen, was die Nummer 123 bei den E/A-Fehlern aussagt? Die Nummer finde ich in den Standard-E/A-Fehlerlisten leider nicht. Der Fehler erscheint nur, wenn das Programm im Netzwerk gestartet worden ist. Abbruchstelle ist die nachfolgende Anweisung:
Delphi-Quellcode:
wobei Pfad den Wert "C:\Temp\" hat ...
if SelectDirectory(Pfad,[],0) then
Vielen Dank. easy |
Re: Bedeutung von E/A-Fehler 123?
Hallo,
müsste bedeuten, dass im Dateinamen einer zu speichernden Datei ein ungültiges Zeichen enthalten ist. Frag' mal Google: ![]() Gibt es auf jedem Rechner C:\Temp\? Wenn nein, nutze eventuell für den Zusammenbau des Dateinamens die Umgebungsvariabeln %TEMP% oder %TMP%. |
Re: Bedeutung von E/A-Fehler 123?
Hallo,
ich habe dieses Verfahren verwendet, um Pfad vorzubelegen :-( Und das Verzeichnis gibt es auch. Es muss irgendwie SelectDirectory liegen. Es passiert auch nur, wenn die Vorbelegung von Pfad auf die lokale Festplatte weist, dass Programm selber im Netzwerk gestartet worden ist. Die Google-Links helfen mir nicht weiter. das hatte ich bereits versucht. Da gab es aber immer Fehler mit der Dateinamenzuweisung. Ich suche aber ja gar keinen Dateinamen sondern will ein Verzeichnis auswählen. Trotzdem danke cu Easy |
Re: Bedeutung von E/A-Fehler 123?
|
Re: Bedeutung von E/A-Fehler 123?
Zitat:
Delphi-Quellcode:
die Variante
if SelectDirectory(Pfad,[],0) then
Delphi-Quellcode:
benutze, dann geht es.
if SelectDirectory('Verzeichnis wählen','',Pfad) then
Danke. cu easy |
Re: Bedeutung von E/A-Fehler 123?
Hallo,
hab' mal eben ein Programm geschrieben, das die Funktion aufruft und das dann über's Netz mit UNC-Pfad von 'nem Rechner an 'nem anderen Standort aufgerufe. Gibt keine Probleme, selbst wenn das in Pfad angegeben Verzeichnis nicht existiert. Da blieben als Fehlermöglichkeiten: Rechteprobleme oder unterschiedliche Zeichensätze? SelectDirectory benutzt intern TSelectDirDlg aus FileCtrl. Setz' Dir mal 'nen Breakpiont vor dem If und versuche dann in FileCtrl hinein zu debuggen (wenn es Dir gelingt, auf Deinem Rechner den Fehler nachzuvollziehen, sonst bringt das natütlich nix). Das FormCreate von dem Dialog sieht (bei Delphi 7) so aus:
Delphi-Quellcode:
Könnte mir vorstellen, das eventuell hier der Fehler auftritt.
procedure TSelectDirDlg.FormCreate(Sender: TObject);
var UserHandle: THandle; NetDriver: THandle; WNetGetCaps: function (Flags: Word): Word; begin { is network access enabled? } UserHandle := GetModuleHandle(User32); @WNetGetCaps := GetProcAddress(UserHandle, 'WNETGETCAPS'); if @WNetGetCaps <> nil then begin NetDriver := WNetGetCaps(Word(-1)); if NetDriver <> 0 then begin @WNetConnectDialog := GetProcAddress(NetDriver, 'WNETCONNECTDIALOG'); NetButton.Visible := @WNetConnectDialog <> nil; end; end; FAllowCreate := False; DirLabel.BoundsRect := DirEdit.BoundsRect; DirListChange(Self); end; Es wäre interessant zu wissen, ob der Fehler vor oder nach dem Anzeigen des Dialoges auftritt. Die zweite von Dir benutze Variante nutzt einen vollkommen anderen Weg zur Anzeige des Dialoges. Da mag es durchaus sein, dass der eine funktioniert und der andere nicht. |
Re: Bedeutung von E/A-Fehler 123?
Ich kann es bei mir nicht nachvollziehen, daher auch nicht debuggen. Ich bin mittels Logdateien auf die Stelle gekommen (zum Glück ist der Anwender extrem kooperativ :-)). Ich denke es liegt an einer ganz simplen Sache. Das Programm ist auf einem Linux-Server mit Samba-Umgebung abgelegt und wird von Windows aus gestartet ... auf nem Windows-Server oder einer anderen Windows-Workstation gibt es kein Problem. Muss also mit dem Linux zusammen hängen. Mir steht aber leider kein Linuxserver zur Verfügung.
Ich werde jetzt einfach alle SelectDirectory auf die andere Variante umstellen und gut ist. cu easy |
Re: Bedeutung von E/A-Fehler 123?
Hallo,
Dein Lösungsweg ist okay. Das klingt wirklich schwer nach Zeichensatzproblemem, c:\temp\ und Co. sind auf 'nem Linuxrechner nicht üblich. |
Re: Bedeutung von E/A-Fehler 123?
Zitat:
![]() Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 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 by Thomas Breitkreuz