AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf Netzwerkverzeichnis

Ein Thema von norwegen60 · begonnen am 3. Sep 2010 · letzter Beitrag vom 6. Sep 2010
Antwort Antwort
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#1

Zugriff auf Netzwerkverzeichnis

  Alt 3. Sep 2010, 18:28
Hallo zusammen,

ich möchte mit einem Delphi-Programm dem Benutzer Zugriff auf ein Netzwerkverzeichnis geben. Vom Programm berechtigte User sollen über diesen Zugriff Dokumente in dieses Verzeichnis updaten können. Ich weiß, dass ich mit Delphi per "net use" oder "WNetAddConnection2W" ein Laufwerksbuchstaben auf dieses Verzeichnis mappen kann. Da ich aber nicht weiß, welche Laufwerksbuchstaben die verschiedenen Benutzer u.U. lokal gemappt haben, ist dies keine schöne Lösung. Ich könnte natürlich auf einen freien Buchstaben mappen, das Unschöne aber bleibt, dass die Verteilverzeichnisse in einem Grid angezeigt werden. Dort sollte sich nicht je nach Benutzer der Laufwerksbuchstbe ändern.

In Win7 kann ich mit dem Windows-Explorer per "Netzwerkadresse hinzufügen" eine Verknüpfung unter Computer mit beliebigem Namen anlegen. Geht das auch aus Delphi heraus und wenn ja wie?

Vielen dank für eure Unterstützung
Gerd
  Mit Zitat antworten Zitat
blauweiss

Registriert seit: 19. Jun 2007
142 Beiträge
 
#2

AW: Zugriff auf Netzwerkverzeichnis

  Alt 3. Sep 2010, 19:25
Hallo norwegen60/Gerd,

mir ist nicht ganz klar, warum Du das Netzwerkverzeichnis auf einen Laufwerksbuchstaben mappen willst. Kannst Du nicht einfach UNC-Pfade verwenden ?
Und wo wird das besagte Grid verwendet, server- oder client-seitig...?

Grüße
blauweiss
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#3

AW: Zugriff auf Netzwerkverzeichnis

  Alt 4. Sep 2010, 08:52
Hallo blauweiss,

die Verteilpfade in der die Datei upgedatet werden sollen, werden dem Benutzer clientseitig in einem Grid angezeigt.

Offene Punkte beim UNC-Pfad:
  1. Den meisten Normalbenutzern ist die UNC-Darstellung fremd, was alledings auch für die Verknüpfung gelten würde
  2. Durch den etwas tief verschachtelten Aufbau der Verzeichnisstruktur auf dem Server, auf den ich keinen Einfluss habe, wird die Darstellung unübersichtlich
    z.B. "\\192.1.1.45\sp_managed_documents$\Service" und dann noch der tatsächliche Ablagepfad
    besser wäre "Service" und dann der tatsächliche Ablagepfad
    Problem, das ich gerade festgestellt habe: Wenn ich solch eine per "Netzwerkadresse hinzufügen" erstellte Verknüpfung auswähle, wird programmseitig gar nicht der Verknüpfungsname verwendet, sondern auch wieder der UNC-Pfad, so dass gar nichts gewonnen wäre
    Darstellungsmöglichkeiten des Verteilpfades sortiert nach Beliebtheit/Gewohntheit
    1. T:\User Manuals\Antrieb1
    2. \\Service\User Manuals\Antrieb1
    3. \\192.1.1.45\sp_managed_documents$\Service\User Manuals\Antrieb1
  3. Wie kann ich solch einen UNC-Pfad in einem Opendialog anzeigen lassen damit der Benutzer diesen auswählen und darin navigieren kann. Wichtig zu wissen ist, dass der Verteilpfad auch auf das öffentliche Netzwerklaufwerk gehen kann. Im OpenDialog sollen also alle Möglichkeiten dargestellt werden und ich möchte verhindern, dass es zwei oder mehr OpenDialogs gibt wo einer auf die normale Windows-Explorer-Umgebung geht und andere UNC-Pfade darstellen

Ich suche also eine Möglichkeit, die per Windows-Explorer gesperrten Verzeichnisse in meiner Anwendung möglichst so darzustellen, dass Normalanwender möglichst ähnlich wie im Explorer arbeiten können. Und am meisten haben sich die Leute halt an Laufwerksbuchstaben gewöhnt.

Eine Möglichkeit wäre u.U. noch, dass ich bei einer Laufwerksbuchstaben-Kollision das bestehende Laufwerk umsetze solange meine Anwendung z.B. T: verwenden will. Ich möchte die Verbindung nämlich immer nur temporär bei Bedarf herstellen. Würde das funktionieren ohen dass ich eventuelle Passwörter des bestehenden Laufwerks weiß und wenn ja, wie? Sauber wäre das allerdings nicht.

Hat jemand Ideen?

Gerd

Geändert von norwegen60 ( 4. Sep 2010 um 09:40 Uhr)
  Mit Zitat antworten Zitat
blauweiss

Registriert seit: 19. Jun 2007
142 Beiträge
 
#4

AW: Zugriff auf Netzwerkverzeichnis

  Alt 6. Sep 2010, 21:49
Hallo Gerd,

ok, jetzt wird die ganze Problematik klar(er)...
Ideal wäre eine Art "Alias", die aber vermutlich weder per Verknüpfung noch per "Subst" hinhauen dürfte...?!


Mein Vorschlag: Ich würde doch alternativ 2 Dialoge anbieten:
a) einen Dialog "eigene Ablage", in dem der Anwender nach lokalen Pfaden browsen (bzw. der erfahrenere Anwender zusätzlich nach Netzwerklaufpfaden/UNC) kann -> also Standard BrowseFolder(SelectDirectory)...
b) einen Dialog "Netzwerkablage", welcher z.B. im Root "\\192.1.1.45\sp_managed_documents$\Service\Us er Manuals\" startet -> sollte über SelectDirectory gehen


Oder Du verfolgst die Variante mit Laufwerksbuchstaben, wobei Du in den sauren(?) Apfel beissen mußt, daß dieser Buchstabe bei den Anwendern unterschiedlich sein wird. Warum ist das eigentlich ein Problem?
Zum Laufwerks-Mapping:
Die Hilfe zu WNetAddConnection2 sagt, daß beim Parameter lpPassword auch NULL übergeben werden kann -> dann wird nach meinem Verständnis das Login-Passwort des Users verwendet. Probier das mal aus.
Ein Mapping dürfte per WNetCancelConnection2 wieder zu löschen sein.


Viele Grüße,
blauweiss
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 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