Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Netzwerksuch-Performance und dwScope (https://www.delphipraxis.net/16940-netzwerksuch-performance-und-dwscope.html)

Tubos 25. Feb 2004 22:20


Netzwerksuch-Performance und dwScope
 
Hallo!

Ich würde gerne in einem Netz mit ca. 200 PCs alle in einer ListBox anzeigen lassen.
Das ist prinzipiell kein Problem, hier im Forum und mit Google habe ich alle Quelltexte gefunden.
Alle Programme hatten jedoch einen Nachteil: Entweder dauert es relativ lange (ca. 4 Minuten) oder der Computer hängt sich fast auf.

Wieso kann der Windows-Explorer die Computer in 5 Sekunden anzeigen, ein Delphi-Programm benötigt jedoch 4 Minuten?
Teilweise liegt es sicher daran, dass beide Varianten sehr lange für die Meldung "Zugriff verweigert" benötigen (es gibt 5 arbeitsgruppen, aber nur auf eine habe ich zugriff und das delphi-programm schaut unnötigerweise auch nach den anderen 4).

Jetzt habe ich zwei Fragen:

1) Für dwScope gibt es 4 Varianten: RESOURCE_CONNECTED, RESOURCE_CONTEXT, RESOURCE_GLOBALNET und RESOURCE_REMEMBERED. Trotz Google-Suche habe ich dennoch nicht mehr Angaben darüber finden können. Was muss ich einsetzen, damit ich nur eine einzelne Arbeitsgruppe angezeigt bekomme?

2) Wenn das Programm danach immer noch solange braucht: wieso? *grins*

Danke schon im Voraus!

Tubos

Christian Seehase 25. Feb 2004 23:57

Re: Netzwerksuch-Performance und dwScope
 
Moin Tubos,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Zu 1.
Die Funktion, die Du verwendest geht die jeweiligen Container durch.
Das heisst, in jeder Stufe, bekommst Du alles geliefert, was im jeweiligen Container enthalten ist.
Wenn Du Dir also z.B. den Inhalt von Microsoft Windows Netzwerk heraussuchen lässt, bekommst Du eine Liste aller Arbeitsgruppen/Domänen.
Diese wären dann wiederum Container, die die jeweiligen Rechner enthalten.
Zumindest bei mir bekommt der Explorer auch erst nach einer gewissen Zeit einen Timeout, und hängt solange.

Um zu verhindern, dass Dein Programm dabei "einfriert" könntest Du die Abfrage in einen eigenen Thread auslagern.
In der Stufe kannst Du CONTEXT oder GLOBALNET verwenden.
Die anderen Beiden werden erst interessant, wenn Du die Rechner durchgehst.

Tubos 26. Feb 2004 07:31

Re: Netzwerksuch-Performance und dwScope
 
Zitat:

Wenn Du Dir also z.B. den Inhalt von Microsoft Windows Netzwerk heraussuchen lässt, bekommst Du eine Liste aller Arbeitsgruppen/Domänen.
Diese wären dann wiederum Container, die die jeweiligen Rechner enthalten.
genau das brauche ich: eine bestimmte Domäne, aber nur die soll durchsucht werden!

Zitat:

In der Stufe kannst Du CONTEXT oder GLOBALNET verwenden.
okay, ich probier´s mal mit CONTEXT. Aber wie kann ich eine einzelne Domäne auswählen? (bin n00b :lol: )

edit:
hab das programm gerade nochmals probiert, auf einem schnellen xp-rechner hängt es sich eh "nur ein bisschen" auf :thuimb:
man darf es halt nicht anklicken ;)

edit2:
hab gerade gelesen, dass man mit resource_context nur die eigene domäne durchsucht - genau das, was ich will. Fremde Domänen sind für mich im Moment uninteressant.
Ich baue das Programm um und denke, dass es dann wesentlich schneller laufen wird.
Die Frage ist vorläufig beantwortet, wenn es Probleme gibt melde ich mich halt nochmal :)

Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04: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