vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 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
.ShowDialog(owner) bei verschiedenen Threads, wie? 
Autor: keco
Datum: 28.03.10 21:02

Hallo,

ich habe folgendes Problem in meiner Programstruktur. Ich habe eine Klasse, die einen Backgroundworker enthält, welche eben asynchrone Vorgänge ausführen soll, die zeitintensiv sind. Die Instanz einer solchen Klasse übergebe ich einem Formular im Konstruktor. Dort wird im Konstruktor die Form an die Klasse übergeben. In der Klasse wird ein weiteres Formular geöffnet und bei .ShowDialog() soll als Owner eben das Formular angegeben werden, an welches die Klasse übergeben wurde. Dabei erhalte ich aber scheinbar eine Exception für einen ungültigen Threadvorgang.

Klingt alles ziemlich kompliziert. Meine Frage ist nun, wie ich aus der Klasse heraus eine Form öffnen kann, die als Owner das Formular hat, an welches die Klasse übergeben wurde. In der Klasse, die an das Formular übergeben wurde (also die mit dem BackgroundWorker) habe ich folgenden Code auf Klassenebene:
      Private Delegate Sub ShowFormHandler(ByVal frm As Form)
 
      Private Function ShowForm(ByVal frm As Form) As DialogResult
         Return frm.ShowDialog(pOwner)
      End Function
Und folgendem Code innerhalb einer Methode:
         Using frm As New ChangeFileDialog(sourceFile)
            Select Case DirectCast(frm.Invoke(New ShowFormHandler(AddressOf _
              ShowForm), New Object() {frm}), DialogResult)
               ' ...
            End Select
         End Using
Hier steigt das Programm aus (in der Zeile mit dem Select Case DirectCast...), es wird keine Exception angezeigt, lediglich erfolgt eine Ausgabe im Debug-Fenster. Wie muss der Aufruf mittels Invoke lauten?

PS: pOwner ist die Form, an die die Klasse übergeben wurde.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
.ShowDialog(owner) bei verschiedenen Threads, wie?4.725keco28.03.10 21:02
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.891Manfred X28.03.10 21:15
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.087keco28.03.10 21:31
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.915Manfred 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.893Manfred X28.03.10 21:58
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.871keco28.03.10 22:03
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.169keco28.03.10 22:16
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.865ModeratorFZelle29.03.10 13:42
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.075keco29.03.10 19:39
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.090ModeratorFZelle29.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.836Manfred X29.03.10 20:35
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.119Manfred X29.03.10 20:00
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.100keco31.03.10 09:15
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.909Manfred 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.816Manfred X31.03.10 10:05
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.891keco31.03.10 12:23
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.904ModeratorDaveS31.03.10 12:49
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.035keco31.03.10 12:59
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.836ModeratorDaveS31.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.932ModeratorDaveS01.04.10 09:11
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.875Manfred X01.04.10 09:16
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.824ModeratorDaveS01.04.10 09:42
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.878ModeratorFZelle01.04.10 11:07
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.884keco01.04.10 16:45
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?4.018ModeratorDaveS01.04.10 18:05
Re: .ShowDialog(owner) bei verschiedenen Threads, wie?3.831keco01.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