Forum: Netzwerke
by SirThornberry,
10. Mär 2006
Ist nur geraten, aber all zu hoch dürfte die Netzwerklast mit FindFirst nicht sein wenn du nicht gerade mit wildcards suchst, denn dann wäre ja maximal die struktur zu übertragen welche die eine gefundene Datei enthält.
Forum: Netzwerke
by SirThornberry,
10. Mär 2006
also ich habs grad mit VM getestet und auch dort ist das von dir beschriebene Problem. Testet man auf eine frei gegebene Resource ("test1") wird True zurück gegeben. Wenn man diese Freigabe dann aufhebt wird jedoch weiterhin "True" zurück gegeben, selbst nach einem Programmneustart.
Ich hab die befürchtung das es wohl doch wieder darauf hinaus läuft per FindFirst das ganze zu versuchen da, dabei...
Forum: Netzwerke
by SirThornberry,
10. Mär 2006
du könntest eine VM nutzen. Oder wenn wirklich immer der Cache bemüht wird wäre dann wohl wirklich nur die Möglichkeit mit FindFirst zu prüfen. Und dabei natürlich hoffen das dort nix mit dem Cache zu tun hat.
Ich werd mal bischen mit VM rum probieren und eventuell erst morgen wieder schreiben (bzw. heute nach dem schlafen)
Forum: Netzwerke
by SirThornberry,
10. Mär 2006
also wird auch wieder der Cache genutzt? ich kann es leider nicht unter realen Bedingungen Testen sondern im moment nur prüfen ob die Ressourcen von "server01" verfügbar sind wobei das Programm auch auf Server01 ausgeführt wird.
Forum: Netzwerke
by SirThornberry,
10. Mär 2006
Ich hab auch die Befürchtung das da der Cache zur Anwendung kommt. Kannst ja aber mal mein zuletzt getestetes Beispiel testen ob das funktioniert.
Forum: Netzwerke
by SirThornberry,
10. Mär 2006
hab mal bischen probiert und die Funktion "MultinetGetConnectionPerformance" kann man für diesen zweck missbrauchen.
So hab ich das umgesetzt:
function IsNetworkResAvailable(ARes: String): Boolean;
var LRes: TNetResource;
LInfo: TNetConnectInfoStruct;
begin
ZeroMemory(@LRes, SizeOf(LRes));
LRes.lpLocalName := nil;
Forum: Netzwerke
by SirThornberry,
10. Mär 2006
die Ultimative Lösung ist das wohl nicht aber letzendlich kommt das ja aufs gleiche heraus.
Du dachtest vermutlich ja das die Funktion WNetOpenEnum versucht zu den Resorucen zu verbinden was aber nicht der Fall ist. Also kommt es ja fast aufs gleiche heraus wenn du es selbst versuchst.
Du kannst das ganze natürlich auch ohne Thread machen aber dann kanns halt sein das deine Anwendung eine...
Forum: Netzwerke
by SirThornberry,
9. Mär 2006
du schreibst in deinem ersten post:
Dafür ist die Funktion jedoch gar nicht da. Mit "RESOURCE_CONNECTED" würdest du nur die Auflisten welche zu dem Zeitpunkt verbunden sind. Und mit den anderen Funktionen würdest du eben die Dinge auflisten per Enum die es gibt, aber ein Test ob dahin verbunden werden kann ist nicht inbegriffen.
Solange es um den Typ Disk geht würde ich dir empfehlen einfach...