[PowerShell]Forms - Funktion nachdem Form geladen ist.

SizZle

Cadet 4th Year
Registriert
Nov. 2010
Beiträge
125
Hallo Zusammen,

ich bastel grade ein Powershell script mit grafischer Oberfläche.
Mein Problem nun ist, dass ich hierfür ein Snapin laden muss. Das dauert jedoch eine Weile. Daher möchte ich das Snapin im Hintergrund laden.

Ich habe schon versucht den Code in die "OnLoadForm" einzutrage, jedoch läd das Form dann erst fertig, wenn das Snapin geladen ist.
Ich möchte jedoch das Form laden und dann das Snapin laden.

Den Quellcode kann ich leider nicht Posten, da ich zu viel "schwärzen" müsste. Ggf. kann ich einzelne stücke Posten.

Hoffe ihr könnt mir helfen :)
 
Danke schon mal!
Wenn ich das aber richtig verstanden habe, öffnet man damit eine neue Session. Daher habe ich das PSSnapin nicht in der aktuellen Session, in der die grafische Oberfläche läuft.
 
Das kann Powershell Spezifisch sein, da habe ich keine Ahnung von. ;) Aber so lange Du Sachen in einen Thread machst wird immer blockiert bis der aktuelle Befehl abgearbeitet ist...

Edit: Was meinst Du denn mit Session?
 
Zuletzt bearbeitet:
Mit Session meine ich im Prinzip das Fenster. Wenn ich ein Snapin lade, ist dies nur für das aktive Fenster gültig. Meine Vermutung ist, dass beim Threading der das Modul zwar parallel läd, das aber für mein eigentliches Programm nutzlos ist, da das Modul eben nicht im Hauptthread geladen wird
 
Setz Dich mal mit Prozessen, AppDomains und Threadings auseinander. Alles was Du in einem Thread lädst ist auch in anderen Threads verfügbar solange Du innerhalb einer AppDomain bist, was in der Regel der Fall ist. Tricky ist wie gesagt die Synchronisierung, Du sollest halt nicht aus Thread X auf ein Objekt zugreifen, das gerade von Thread Y in Bearbeitung ist... Threading ist leider nicht immer trivial. ;)

Edit: Mal ne Frage am Rande: Womit programmierst Du die GUI? Visual Studio 20XX? c#/VBA? Oder was exotischeres?
 
Zuletzt bearbeitet:
Klingt ja recht spektakulär :D

"Programmiert" habe ich die GUI mit SAPIEN...Sprich nur die Elemente zusammengeklickt. Den Skriptcode habe ich mit PowerGUI editiert...Sprich ich schreibe das in Powershell ;)
 
Hm dann bin ich raus, damit kenne ich mich nicht wirklich aus. Basiert zwar auch alles auf .NET denke ich, aber selbst habe ich damit noch nicht gearbeitet.
 
Ja an sich ist das alles .NET. Habe meine Erfahrung auch aus dem C# Umfeld uns versuche mich jetzt mal in Powershell damit. Aber vielen Dank für deine Hilfe! Falls noch jemand eine Iddee hat, immer her damit :)
 
Zurück
Oben