vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: .ShowDialog(owner) bei verschiedenen Threads, wie? 
Autor: keco
Datum: 29.03.10 19:39

Zitat:

Könnte es sein, das Du nach der langen Zeit im Forum und den
hunderten von Threads in diesem Forum zu
Backgroundworker und CO immer noch nicht verstanden hast, das
man niemals von einem Extra Thread aus
ein UI Control ansprechen gescheweide denn erzeugen darf.

Ich bin mir sehr wohl bewusst, dass man zwischen den Threads kein UI Control ansprechen darf. Das wollte ich auch damit verhindern, dass ich darin die Form erzeuge. Diese wäre für den 2. Thread existent und könnte problemlos davon verwendet werden, oder nicht?

Jedenfalls habe ich deswegen auch versucht das mittels Invoke für diesen Thread zugänglich zu machen. Oder ist Invoke ebenfalls ein schlechter Stil alá GoTo?

[qoute]Das erzeugen Der Form, sowie der Aufruf der ShowDialog routine muss aus dem GUI Thread erfolgen.
Es gibt keine andere Möglichkeit und alles andere ist auch blödsinn.[/qoute]
Das habe ich erhofft damit zu bewirken, dass ich ein Event auslöse und die Form des Hauptthreads auf dieses Event hin reagiert und die Form erzeugt. Wie ich allerdings eben feststellte passiert das im DoWork-Ereignis des BackgroundWorkers, wodurch ich threadübergreifende Vorgänge erwirke. Aber auch da dachte ich eben, dass ich per Invoke zu einer Lösung komme.

[qoute]Erzeuge in der Invokeden Routine ( weil im GUI Thread ) den Dialog, und gib den Namen zurück.[/qoute]
Das verstehe ich nicht. Ich soll in dieser Methode:
      Private Function ShowForm(ByVal frm As Form) As DialogResult
         Return frm.ShowDialog(Me)
      End Function
kein DialogResult sondern den Name der Form zurückgeben? Also so:
      Private Function ShowForm(ByVal frm As Form) As String
         Return frm.Name
      End Function
Da sehe ich allerdings nicht wirklich viel Sinn darin. Vielleicht kannst du mir das kurz erklären?

Achso, da fällt mir eben ein. Wäre es grundsätzlich möglich, dass ich in der Klasse, die die Funktionalität bereitstellt, eine Eigenschaft vom Typ Form anbiete und darüber die Form anzeige? Das würde heißen, dass wenn ich eine Instanz der Klasse erzeuge (im Hauptthread) ebenfalls eine Instanz der aufzurufenden Form erzeuge und diese an die Eigenschaft übergebe? Dann ist doch die Form im GUI Thread erstellt wurden. Ist das denn eher die richtige Herangehensweise?

Ich weiß einfach nicht, wie ich die Arbeit des Threads solange pausieren kann, bis der Anwender über einen Dialog eine entsprechende Wahl getroffen hat und dieser anhand der Benutzerentscheidung weiterarbeitet.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
.ShowDialog(owner) bei verschiedenen Threads, wie?4.726keco28.03.10 21:02
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.892Manfred X28.03.10 21:15
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.088keco28.03.10 21:31
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.916Manfred X28.03.10 21:39
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.871keco28.03.10 21:47
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.894Manfred X28.03.10 21:58
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.872keco28.03.10 22:03
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.170keco28.03.10 22:16
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.866ModeratorFZelle29.03.10 13:42
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.076keco29.03.10 19:39
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.091ModeratorFZelle29.03.10 19:57
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.906keco29.03.10 20:08
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.837Manfred X29.03.10 20:35
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.120Manfred X29.03.10 20:00
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.101keco31.03.10 09:15
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.910Manfred X31.03.10 09:23
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.896keco31.03.10 09:40
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.817Manfred X31.03.10 10:05
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.892keco31.03.10 12:23
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.905ModeratorDaveS31.03.10 12:49
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.036keco31.03.10 12:59
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.837ModeratorDaveS31.03.10 13:24
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.843keco31.03.10 20:59
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.933ModeratorDaveS01.04.10 09:11
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.876Manfred X01.04.10 09:16
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.825ModeratorDaveS01.04.10 09:42
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.879ModeratorFZelle01.04.10 11:07
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.885keco01.04.10 16:45
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.019ModeratorDaveS01.04.10 18:05
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.832keco01.04.10 20:26
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.987ModeratorFZelle02.04.10 11:45

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel