Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Netzwerkverbindung XP (https://www.delphipraxis.net/38451-netzwerkverbindung-xp.html)

AppleFan 19. Jan 2005 17:31


Netzwerkverbindung XP
 
Hallo,
ich habe zwar schon das ganze Forum durchgeblättert finde aber keinen Hinweis für mein Problem !
Möchte ganz simpel vom Programm aus eine Netzwerkverbindung (ohne Dialog) herstellen.
So wie an anderer Stelle beschrieben mit dem Befehl WNetAddConnection.
Klappt aber nicht auf meiner XP-Kiste. Wenn ich die Verbindung manuell herstelle ist
das Netzlaufwerk da. Trennen von Delphi aus geht.

Jens Schumann 19. Jan 2005 18:03

Re: Netzwerkverbindung XP
 
Hallo,
das Stichwort lautet MSDN-Library durchsuchenWNetAddConnection
Entschuldigung, ich habe nur die ersten beiden Zeilen gelesen. :oops:

alcaeus 19. Jan 2005 18:07

Re: Netzwerkverbindung XP
 
Zitat:

Zitat von AppleFan
So wie an anderer Stelle beschrieben mit dem Befehl WNetAddConnection.
Klappt aber nicht auf meiner XP-Kiste.

Dreh deine Kiste auf den Kopf, dann gehts :roll:
Im Ernst, ein paar Infos mehr waeren nicht schlecht. Am Ende ruft Windows ja auch nur eine entsprechende API-Funktion auf, und ich bin mir ziemlich sicher, dass die Funktion eben WNetAddConnection ist.

Greetz
alcaeus

Luckie 19. Jan 2005 18:07

Re: Netzwerkverbindung XP
 
Zitat:

Zitat von AppleFan
Klappt aber nicht auf meiner XP-Kiste.

Sorry, Glaskugel in Reparatur. Keine Hilfe möglich.

AppleFan 19. Jan 2005 18:23

Re: Netzwerkverbindung XP
 
So hatte ich es mir gedacht:

Delphi-Quellcode:
procedure NetzlaufwerkVerbinden;
var
   NetResource: TNetResource;
   dwFlags:    DWORD;
   Laufwerk, Pfad, Username, Password : String;
   Verbunden : Boolean;

begin
     NetResource.dwType := RESOURCETYPE_DISK;
     NetResource.lpLocalName := PChar(Laufwerk);
     NetResource.lpRemoteName := PChar(Pfad);
     NetResource.lpProvider := nil;
     dwFlags := 0;

     Laufwerk := 'x:';
     Pfad := '\\Rechnername\FreigabeOrdner;
     Username := '';
     Password := '';

     Verbunden := WNetAddConnection2(NetResource, PChar(Password),
                  PChar(Username),dwFlags) = NO_ERROR;

end;
[edit=Luckie]Delphi-Tags ergänzt. Beim nächsten Mal bitte selber machen. Mfg, Luckie[/edit]

Luckie 19. Jan 2005 20:31

Re: Netzwerkverbindung XP
 
Zitat:

Zitat von AppleFan
So hatte ich es mir gedacht:

Und?

AppleFan 20. Jan 2005 09:46

Re: Netzwerkverbindung XP
 
Was ist denn nun falsch ?

alcaeus 20. Jan 2005 09:48

Re: Netzwerkverbindung XP
 
Zitat:

Zitat von AppleFan
Was ist denn nun falsch ?

Vielleicht solltest du uns mal sagen, was denn passiert (AV, Fehlermeldung, Exception, der Baum im Garten fällt um, ...). Einfach drauflos raten wird wohl keiner :roll:

Greetz
alcaeus

AppleFan 25. Jan 2005 16:25

Re: Netzwerkverbindung XP
 
Hat sich erledigt ! Fehler gefunden !

alcaeus 25. Jan 2005 17:54

Re: Netzwerkverbindung XP
 
Zitat:

Zitat von AppleFan
Hat sich erledigt ! Fehler gefunden !

Dann sag uns bitte noch was das Problem war? (Programmierfehler, Fehler in XP, ...)

Greetz
alcaeus

Harry M. 25. Jan 2005 18:13

Re: Netzwerkverbindung XP
 
bai mir funtz dat nich. habe win2kpro. es wird fehlerfrei erzeugt und ausgeführt aber passieren tut nichts :gruebel: weiß jemand warum?

alcaeus 25. Jan 2005 18:29

Re: Netzwerkverbindung XP
 
Zitat:

Zitat von delphicus
bai mir funtz dat nich. habe win2kpro. es wird fehlerfrei erzeugt und ausgeführt aber passieren tut nichts :gruebel: weiß jemand warum?

:roll: "Ruhig Blut Andreas...irgendwann lernen sie es auch noch" :roll:
Was heisst hier "es passiert nichts"? Es passiert nichts im Garten, oder es passiert nichts sichtbares, oder der PC macht danach ueberhaupt nichts mehr, ...
Ein paar Infos waeren (milde gesagt) mal nicht schlecht.
Und auch ein bisschen Code hat noch keinen DP-Leser umgebracht :roll:

Greetz
alcaeus

Harry M. 25. Jan 2005 18:44

Re: Netzwerkverbindung XP
 
da ist der code der nicht funzt

Code:
procedure NetzlaufwerkVerbinden;
var
   NetResource: TNetResource;
   dwFlags:    DWORD;
   Laufwerk, Pfad, Username, Password : String;
   Verbunden : Boolean;

begin
     NetResource.dwType := RESOURCETYPE_DISK;
     NetResource.lpLocalName := PChar(Laufwerk);
     NetResource.lpRemoteName := PChar(Pfad);
     NetResource.lpProvider := nil;
     dwFlags := 0;

     Laufwerk := 'x:';
     //Pfad := '\\Rechnername\FreigabeOrdner';
     Pfad := '\\127.0.0.1\C$';
     Username := 'administrator';
     Password := ********';

     Verbunden := WNetAddConnection2(NetResource, PChar(Password),
                  PChar(Username),dwFlags) = NO_ERROR;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  NetzlaufwerkVerbinden;
end;
und es passiert eben nichts, jedenfalls nichts sichtbares, und der debugger meldet sich auch nicht

DasZiesel 25. Jan 2005 19:03

Re: Netzwerkverbindung XP
 
Ist doch auch logisch das der Code nicht funktioniert, oder? :roll: Versuche es doch mal so, vielleicht fällt dir was auf! :thumb:

Delphi-Quellcode:
procedure NetzlaufwerkVerbinden;
var
   NetResource: TNetResource;
   dwFlags:    DWORD;
   Laufwerk, Pfad, Username, Password : String;
   Verbunden : Boolean;

begin
     Laufwerk := 'x:';
     //Pfad := '\\Rechnername\FreigabeOrdner';
     Pfad := '\\127.0.0.1\C$';
     Username := 'administrator';
     Password := ********';

     NetResource.dwType := RESOURCETYPE_DISK;
     NetResource.lpLocalName := PChar(Laufwerk);
     NetResource.lpRemoteName := PChar(Pfad);
     NetResource.lpProvider := nil;
     dwFlags := 0;

     Verbunden := WNetAddConnection2(NetResource, PChar(Password),
                  PChar(Username),dwFlags) = NO_ERROR;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  NetzlaufwerkVerbinden;
end;

Harry M. 25. Jan 2005 20:18

Re: Netzwerkverbindung XP
 
nee, das einzigste was mir aufgeffalen ist, ist, das ich beim password das " ' " vergessen habe, was dann auch vom compiler mit "Ausdruck erwartet, aber "*" gefunden" bemerkert wird. sonst fällt mir leider nichts auf ausser das die syntax bei dir wie oben mehr blau ist als bei meinem code. mir will aber grad überhaupt icht einleuchten wieseo... :wall: was aber eigendlich sagt das es ein string ist

alcaeus 25. Jan 2005 20:22

Re: Netzwerkverbindung XP
 
Hi delphicus,

du hast den Code so:
Code:
//...
     NetResource.dwType := RESOURCETYPE_DISK;
     NetResource.lpLocalName := PChar(Laufwerk);
     NetResource.lpRemoteName := PChar(Pfad);
     NetResource.lpProvider := nil;
     dwFlags := 0;

     Laufwerk := 'x:';
     //Pfad := '\\Rechnername\FreigabeOrdner';
     Pfad := '\\127.0.0.1\C$';
     Username := 'administrator';
     Password := '********';
//...
Probier es mal so:
Code:
//...
     Laufwerk := 'x:';
     //Pfad := '\\Rechnername\FreigabeOrdner';
     Pfad := '\\127.0.0.1\C$';
     Username := 'administrator';
     Password := '********';

     NetResource.dwType := RESOURCETYPE_DISK;
     NetResource.lpLocalName := PChar(Laufwerk);
     NetResource.lpRemoteName := PChar(Pfad);
     NetResource.lpProvider := nil;
     dwFlags := 0;
//...
Beachte die Reihenfolge der einzelnen Anweisungen. Weiters koennte auch der Rueckgabewert von WNetAddConnection2 hilfreich sein.

Greetz
alcaeus

Harry M. 25. Jan 2005 20:34

Re: Netzwerkverbindung XP
 
nun ist es mir auch endlich aufgeafallen. nun funzt dat. danké


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz