| |

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. |  |
 .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.725 | keco | 28.03.10 21:02 |   Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.891 | Manfred X | 28.03.10 21:15 |    Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.087 | keco | 28.03.10 21:31 |     Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.915 | Manfred X | 28.03.10 21:39 |      Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.871 | keco | 28.03.10 21:47 |       Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.893 | Manfred X | 28.03.10 21:58 |        Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.871 | keco | 28.03.10 22:03 |   Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.169 | keco | 28.03.10 22:16 |    Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.865 | FZelle | 29.03.10 13:42 |     Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.075 | keco | 29.03.10 19:39 |      Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.090 | FZelle | 29.03.10 19:57 |       Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.906 | keco | 29.03.10 20:08 |        Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.836 | Manfred X | 29.03.10 20:35 |      Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.119 | Manfred X | 29.03.10 20:00 |   Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.100 | keco | 31.03.10 09:15 |    Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.909 | Manfred X | 31.03.10 09:23 |     Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.896 | keco | 31.03.10 09:40 |      Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.816 | Manfred X | 31.03.10 10:05 |       Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.891 | keco | 31.03.10 12:23 |    Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.904 | DaveS | 31.03.10 12:49 |     Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.035 | keco | 31.03.10 12:59 |      Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.836 | DaveS | 31.03.10 13:24 |       Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.843 | keco | 31.03.10 20:59 |        Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.932 | DaveS | 01.04.10 09:11 |         Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.875 | Manfred X | 01.04.10 09:16 |          Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.824 | DaveS | 01.04.10 09:42 |          Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.878 | FZelle | 01.04.10 11:07 |   Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.884 | keco | 01.04.10 16:45 |    Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.018 | DaveS | 01.04.10 18:05 |     Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.831 | keco | 01.04.10 20:26 |    Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.987 | FZelle | 02.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 |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevCoolbar 3.0 
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere Infos
|
|
|
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
|
|