Christian Kusmanow
Erfahrenes Mitglied
Weiss net so genau, denke mal eher via SMB.Dennis Wronka hat gesagt.:Wie genau wird eigentlich das Netzwerk durchsucht?
Wird der eigene IP-Bereich durchgepingt? Oder wird versucht per SMB zu verbinden?
Was ist mit Nicht-Windows-Rechnern? Werde die gefunden? Und wenn ja, auch als Nicht-Windows-Rechner erkannt?
Wenn die Linuxrechner das Windows Netzwerkprotokoll emulieren, sollte das kein Problem sein.
Denke mal mit Novell/Samba unterstützung geht das.
Ich hätte da noch ein paar Tipps für dich Alexander12.
Die Manifest kannst Dir spaaren. Die brauchst nur beim 1.0 Framework.
Desweiteren:
Code:
try {
Application.EnableVisualStyles();
Application.DoEvents();
Application.Run( new GUI() );
}
catch ( Exception ex ){
MessageBox.Show(
string.Format( "{0}{3}{3}{1}{3}{3}{2}",
"Schwerer Ausnahmefehler!",
ex.ToString(),
"Das Programm wird jetzt beendet!",
Environment.NewLine ),
string.Format( "{0}:({1})", ex.Source, ex.GetType().Name ) );
}
}
Mir wird schlecht, sorry aber das was ich da sehe,
verstößt gegen wirklich viele Aspekte der gesunden Programmierung.
Du arbeitest mit Threads und greifst innerhalb derer auf die Controls deines Forms zu.
Das ist absolut tödlich (deadlocks können entstehen).
Ich hab zwar noch nicht viel mit dem 2.0er Framework gemacht.
Weiss aber das Du da eine "illegal thread-cross exception" (Name ist mir jetzt nicht geläufig :-( ) bekommst.
Bau Dir klassen, welche die Aufgaben erledigen und signalisier der GUI via Events was grad passiert.
Wenn Du die Delegates/Events nicht auf dem Thread des Forms nicht invokst,
werden diese in dem Thread ausgeführt der das Event gefeutert hat.
Strichwort: Form.InvokeRequired
[thread=219770]... wird im falschen Thread ausgeführt - Thread[/thread]
[thread=230242]Neues Fenster öffnen in Thread - Thread[/thread]
MfG, cosmo