AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Drolliges WNetCancelConnection Problem
Thema durchsuchen
Ansicht
Themen-Optionen

Drolliges WNetCancelConnection Problem

Offene Frage von "Errraddicator"
Ein Thema von Errraddicator · begonnen am 1. Okt 2009 · letzter Beitrag vom 2. Okt 2009
Antwort Antwort
Errraddicator

Registriert seit: 26. Jun 2008
161 Beiträge
 
Delphi 2007 Professional
 
#1

Drolliges WNetCancelConnection Problem

  Alt 1. Okt 2009, 11:21
Hiho!

Wir haben seit kurzem für ein und dieselbe Software einen 2. Datenbankserver hinzufügen müssen
(Warum und weshalb sei jetzt mal egal, hatte aber schon seinen Grund ).

Da die Datenbankverbindung (ist keine SQL-Datenbank) über INI-Dateien (Pfadeinstellungen) und Netzlaufwerke (Dateizugriff) passiert, haben wir jetzt also das Problem dass bei Rechner A das Netzlaufwerk R: auf Server 1 lenkt, und bei Rechner B auf Server 2, inkl. den passenden INI-Einträgen.

Zur vereinfachten Handhabung habe ich mir jetzt ein Programm geschrieben, welches die Laufwerksinformationen von R: und die Einträge in der INI-Datei auswertet und anzeigt auf welchen Server ich gerade arbeite und das funzt auch super!

...

Nun wollte ich das Programm noch um einen "System Wechseln" Button erweitern und das habe ich dann auch getan.

Das Netzlaufwerk trenne ich via WNetCancelConnection und verbinde es entsprechend neu.
Anschließend passe ich die INI-Einträge an und lasse mein Prüfprogramm erneut laufen, welches mir den Wechsel korrekt bestätigt.

Alles hat sichtbar funktioniert -> Laufwerk R: zeigt auf den richtigen Server und die INI-Einträge stimmen.

Der Witz kommt aber jetzt:
Wenn ich nun die Programmverknüpfung auf dem Desktop anklicke (welche nicht angepasst wurde und somit logischerweise durch die Laufwerksänderung auf einen nicht mehr existenten Ort zeigt!) führt er das Programm aber trotzdem aus und verbindet mir das alte Laufwerk R: (welches ich getrennt habe) unter Y: neu und arbeitet dann darauf, sprich wieder auf dem alten System,
obwohl ich das Laufwerk neu verbunden und die INI-Einträge angepasst habe.

...

Ist das irgendwie nen Problem mit Windows, oder muss ich mich damit an den Softwarehersteller wenden?


Danke im Voraus

cu Patrick
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

Re: Drolliges WNetCancelConnection Problem

  Alt 1. Okt 2009, 11:55
Hört sich an wie Tobit David und der merkt sich auch den Server-Namen
und erstellt auch ein neues Netzlaufwerk zu dem hinterlegten Server,
wenn es keine solche Verbindung gibt.

Hier handelt es sich um eine Funktion der Software und kein Windows-Feature.
Also bleibt nur der Software-Hersteller.

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Errraddicator

Registriert seit: 26. Jun 2008
161 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Drolliges WNetCancelConnection Problem

  Alt 1. Okt 2009, 12:26
Wer oder was ist Tobit david? *G*

...

Also ich hab jetzt noch mal etwas rumexperimentiert und ich denke, das Problem wird evt. doch eins von Windows sein, denn ich brauch nur auf die veraltete Verknüpfung auf dem Desktop rechts-klickern und mir die Eigenschaften anzeigen lassen, schon verbindet Windows dden falschen Pfad als Y: neu...
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: Drolliges WNetCancelConnection Problem

  Alt 1. Okt 2009, 12:31
Zitat von Errraddicator:
Wer oder was ist Tobit david? *G*

...

Also ich hab jetzt noch mal etwas rumexperimentiert und ich denke, das Problem wird evt. doch eins von Windows sein, denn ich brauch nur auf die veraltete Verknüpfung auf dem Desktop rechts-klickern und mir die Eigenschaften anzeigen lassen, schon verbindet Windows dden falschen Pfad als Y: neu...
Welche Windows-Version?
Was steht in den Eigenschaften? Auf welchen Pfad wird verknüpft?

Weiterer Test:
Alle Links sollten funktionieren (R: ist da und es wird kein Y: erzeugt)
- Welcher Pfad steht in den Eigenschaften?
Umstellen auf den neuen Server (so wie geplant) - aber noch nicht starten!!!!!
- Welcher Pfad steht jetzt in den Eigenschaften?
Programm über den Link starten
- Welcher Pfad steht jetzt in den Eigenschaften?

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Errraddicator

Registriert seit: 26. Jun 2008
161 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Drolliges WNetCancelConnection Problem

  Alt 1. Okt 2009, 12:45
Benutze Windows XP SP 3.

In den Eigenschaften steht was von R:\programm.exe
Weswegen ich es überhaupt nicht verstehe, warum er auf einmal Y: verknüpft, den von Y: finde ich nirgendswo was in den Eigenschaften.

...

Ich habe jetzt übrigens gerade mal einen neuen Test gemacht:

Laufwerk R:\ von alt auf neu umgestellt.
Dannn eine neue Desktop-Verknüpfung mit Ziel auf das neu erstellte Laufwerk R:\ angelegt und das Programm gestartet.
Nun start das Programm auf dem korrekten neuen Laufwerk und verbindet kein Laufwerk Y: oder vergleichbares.
Alles funzt also so wie es sollte!

Rechtsklicke ich nun wieder die alte Verknüpfung und rufe die Eigenschaften auf, erhalte ich prompt wieder das Laufwerk Y:,
obwohl in den Eigenschaften nur was von R: zu lesen ist.

Schätze mal schon, dass Windows hier noch irgendwo was im Cache oder so hat, denn sonst dürfte das mit der neuen Verknüpfung ja nicht funktionieren, oder?

Seltsamerweise bringt ein Neustart des Systems nach der Umlenkung aber auch nichts.
Sobald ich eine der alten Verknüpfungen benutze, erstellt er mir diese rätselhaften Laufwerke und schwenkt darauf.
  Mit Zitat antworten Zitat
Errraddicator

Registriert seit: 26. Jun 2008
161 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Drolliges WNetCancelConnection Problem

  Alt 1. Okt 2009, 12:52
Das Ganze Spiel funzt übrigens umgekehrt genauso.
Sprich ich habe jetzt 2 Verknüpfungen auf dem Desktop, 1 für neu, 1 für alt.

Wenn ich das jeweils korrekte Symbol anklicker funzt alles wunderbar und ich kann problemlos zwischen den beiden DB-System hin und her springen.
Sobald ich aber das jeweils falsche Symbol anklicker, verbindet er mir automatisch ein neues Laufwerk mit den zu dem Symbol passenden Pfadangaben!

Da frag ich mich nur: Woher nimmt er die?
In den Verknüpfungseigenschaften steht davon nichts und in den INI-Dateien habe ich diese Informationen so oder so nicht.
Da habe ich nur IP-Adressen und lokale Pfad-Angaben, keine Informationen darüber, wie die Netzlaufwerke auszusehen haben.
  Mit Zitat antworten Zitat
Errraddicator

Registriert seit: 26. Jun 2008
161 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Drolliges WNetCancelConnection Problem

  Alt 2. Okt 2009, 09:39
Ich hab das Problem jetzt mittlerweile gelöst, bzw. umgangen!

Und zwar habe ich die 2. Datenbank (pfadseitig) genauso eingerichtet, wie die 1..
Somit stimmen die Verknüpfungen, egal welche DB dahinterliegt und alles funzt so, wie es sollte.

...

Fände es trotzdem interessant zu wissen, woher Windows weiß, welcher UNC-Pfad mit Laufwerk "R:" in den Verknüpfungseigenschaften gemeint ist...
Weiß das vielleicht jemand?
  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 00:12 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