![]() |
GetLastError over Network
Hi Leute,
habe für unsere Firma eine winzige sache programmiert mit der wir eine fehlerhafte configdatei löschen können. Ich würde gerne einen Errorcode zurückbekommen, das geht aber anscheinend mit herkömmlichen Mitteln nicht übers Netzwerk? Also den Errorcode den ein andere computer zuletzt hatte. Bisheriger Code(es klappt auf meinem pc, aber wenn ich auf einem anderen PC die datei lösche bekomme ich immer error 0 zurück(er geht also richtig in das else, gibt dann aber immer 0 zurück).
Delphi-Quellcode:
Hat wer eine Idee wie ich den richtigen errorcode von einem anderen PC bekomme?
if DeleteFile('\\' + Host.text + '\C$\Users\' + User.text + '\AppData\Local\Mainsoft\Harmony\configuration\config.ini')
then Liste.items.add('success on user' + User.text) else Liste.items.add('ERROR on ' + User.text + '-> '+ IntToStr(GetLastError)); lg Nico |
AW: GetLastError over Network
Bei mir funktioniert das problemlos, Zugriff verweigert, Netzwerkname nicht gefunden, ...
Vielleicht bekommt Windows in deinem Fall von dem anderen PC nicht mitgeteilt was schief gegangen ist. Warum speicherst du eigentlich nur den Fehlercode und nicht auch gleich dessen Beschreibung? :gruebel:
Delphi-Quellcode:
// EDIT:
SysErrorMessage(GetLastError)
// gibt dir direkt einen String zurück Ach ja, hier ist das Windows 7. Ist das dort vielleicht noch XP oder so? // EDIT2: Aber auch dort geht es hier. |
AW: GetLastError over Network
Danke mal für die Antwort,
habe es auch direkt gemacht, habe in dem fall nur beide varianten probiert ;) Leider funktioniert es bei uns nicht, Windows 7 64bit. lg |
AW: GetLastError over Network
Da DeleteFile bei dir ausgeführt wird, sollte es auch einen ErrorCode liefern. Aber es wäre gut, wenn du diesen Code direkt nach DeleteFile abfragst und nicht zwischendurch noch einige andere WinAPIs aufrufst, welche ebenfalls diesen Code setzen können/könnten (wie z.B. in User.Text). :zwinker:
Delphi-Quellcode:
Bzw. das Ganze optisch noch etwas zusammenhängender:
if DeleteFile('\\' + Host.Text + '\C$\Users\' + User.Text + '\AppData\Local\Mainsoft\Harmony\configuration\config.ini') then
Liste.Items.Add('success on user' + User.Text) else begin E := GetLastError; Liste.Items.Add('ERROR on ' + User.Text + '-> '+ SysErrorMessage(E)); end;
Delphi-Quellcode:
if not DeleteFile('\\' + Host.Text + '\C$\Users\' + User.Text + '\AppData\Local\Mainsoft\Harmony\configuration\config.ini') then
begin E := GetLastError; Liste.Items.Add('ERROR on ' + User.Text + '-> '+ SysErrorMessage(E)); end else Liste.Items.Add('success on user' + User.Text); |
AW: GetLastError over Network
Zitat:
Zitat:
|
AW: GetLastError over Network
Vielen dank euch beiden, mit eingefügtem not hat es funktioniert.
(auf allen 6000 Rechnern ist Win 7 seit 2 Monaten oben, was zum glück unsere Arbeit vereinfacht ;) ). Liebe Grüße Nico |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:41 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