Also, meine Tests waren nicht erfolgreich
Wie schon erwähnt, prüfe trenne ich die Verbindung mit den folgenden Methoden:
Delphi-Quellcode:
class function TWNet.CancelConnection(ADrive:
string; AUpdateProfile: Boolean =
False): Boolean;
Var
AResult: Cardinal;
dwFlags: DWORD;
begin
if AUpdateProfile
then
dwFlags := CONNECT_UPDATE_PROFILE
else
dwFlags := 0;
AResult := WNetCancelConnection2(PChar(ADrive), dwFlags, True);
Result := (AResult = NO_ERROR);
if not Result
then
raise Exception.Create('
Fehler beim Trennen Netzlaufwerk ' + ADrive +
sLineBreak + '
Code: ' + IntToStr(AResult));
end;
class function TWNet.GetConnection(
const ADrive:
string):
string;
var
Buff:
array [0..255]
of Char;
Size : Cardinal;
begin
Size := SizeOf(Buff);
if(NO_ERROR = WNetGetConnection(PChar(ADrive), Buff, Size))
then
Result := Buff;
end;
Trenne ich mit TWNet.CancelConnection...
...liefert mir TWNet.GetConnection einen Leeren String.
Dennoch erhalte ich bei TWNet.AddConnection weiterhin den Code 1202, als wäre die Verbindung noch aktiv.
Bei mir funktioniert es, allerdings bin ich als Admin angemeldet.
Beim normalen Anwender kommt halt besagte Fehlermeldung.
Ich werde wohl mal an den Rechten drehen müssen...
Frank