|
| |

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 UsingHier 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.751 | keco | 28.03.10 21:02 |   Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.910 | Manfred X | 28.03.10 21:15 |    Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.106 | keco | 28.03.10 21:31 |     Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.935 | Manfred X | 28.03.10 21:39 |      Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.890 | keco | 28.03.10 21:47 |       Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.912 | Manfred X | 28.03.10 21:58 |        Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.890 | keco | 28.03.10 22:03 |   Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.190 | keco | 28.03.10 22:16 |    Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.888 | FZelle | 29.03.10 13:42 |     Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.094 | keco | 29.03.10 19:39 |      Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.109 | FZelle | 29.03.10 19:57 |       Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.925 | keco | 29.03.10 20:08 |        Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.856 | Manfred X | 29.03.10 20:35 |      Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.138 | Manfred X | 29.03.10 20:00 |   Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.119 | keco | 31.03.10 09:15 |    Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.929 | Manfred X | 31.03.10 09:23 |     Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.918 | keco | 31.03.10 09:40 |      Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.836 | Manfred X | 31.03.10 10:05 |       Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.911 | keco | 31.03.10 12:23 |    Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.923 | DaveS | 31.03.10 12:49 |     Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.056 | keco | 31.03.10 12:59 |      Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.856 | DaveS | 31.03.10 13:24 |       Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.862 | keco | 31.03.10 20:59 |        Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.952 | DaveS | 01.04.10 09:11 |         Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.895 | Manfred X | 01.04.10 09:16 |          Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.843 | DaveS | 01.04.10 09:42 |          Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.897 | FZelle | 01.04.10 11:07 |   Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.903 | keco | 01.04.10 16:45 |    Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.037 | DaveS | 01.04.10 18:05 |     Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 3.852 | keco | 01.04.10 20:26 |    Re: .ShowDialog(owner) bei verschiedenen Threads, wie? | 4.007 | 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 |
  |
|
Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere 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
|
|