Hallo zusammen,
ich habe folgendes Problem:
Mein Hauptprogramm soll auf Grund des Konzepts aus verschiedenen DLLs ene Form aufrufen können. Die Implementierung geschiet über ein Interface (ebenfalls eine DLL). Der Zugriff funktioniert soweit wunderbar; leider habe ich Probleme der nicht instanzierten Form ein Control berzuordnen und somt einzubetten. Ein weg, dies zu tun wäre die Instanzierung, wodurch ich allerdings den Bezug zum Interface zu verlieren scheine.
Hier ein Quellcode-Beispiel:
Hauptprogramm
-------------------
(Verweis auf die Interface-DLL ist gesetzt)
(NameSpace=APP)
Dim Test_Assembly As System.Reflection.Assembly = System.Reflection.Assembly.LoadFrom(Application.St artupPath + "\Libraries\Test_Assembly.dll")
Dim Interface_Vars As APP.Interface = Test_Assembly.CreateInstance("APP.Form_Main")
Interface_Vars.Interface_String = "blablabla"
Interface_Vars.show_Form()
Interface-DLL
-----------------
(NameSpace=APP)
Public Interface Interface
Property Interface_String() As String
Sub show_Form()
End Interface
aufzurufende DLL (Test_Assembly)
--------------------------------------------
(Verweis auf die Interface-DLL ist gesetzt)
(NameSpace=APP)
Public Class Form_Main
Implements APP.Interface
Private TestString As String
Private Property Interface_String() As String Implements Interface.Interface_String
Get
Return TestString
End Get
Set(ByVal value As String)
TestString = value
End Set
End Property
Private Sub show_form() Implements Interface.show_Form
Me.Show()
MsgBox(Interface_String)
End Sub
End Class
Mit dem angegebenen Quellcode kann ich zumindest über im Interface deklarierte Variablen Daten austauschen und auch das Hauptformular aufrufen.
Mein Wnsch ist allerdings, dieses Formular als Control in einem "SplitContainer" einzubinden. Das funktioniert allerdings nur, wenn ich das Formular im Hauptprogramm instanziere. Dann wiederum scheint es so zu sein, dass auf Grund der seperaten Instanz der Inhalt übergebener Variablen nicht in der anzusprechenden DLL bzw. dem daraus aufgerufenden Formular verfügbar ist und 0/ Nothing oder halt ein leerer String angezeigt wird.
Ich hoffe, dass ich alles verständlich formuliert habe und mir jemand helfen kann.
Vielen Dank schonmal im Voraus.
Gruß,
Michael
ich habe folgendes Problem:
Mein Hauptprogramm soll auf Grund des Konzepts aus verschiedenen DLLs ene Form aufrufen können. Die Implementierung geschiet über ein Interface (ebenfalls eine DLL). Der Zugriff funktioniert soweit wunderbar; leider habe ich Probleme der nicht instanzierten Form ein Control berzuordnen und somt einzubetten. Ein weg, dies zu tun wäre die Instanzierung, wodurch ich allerdings den Bezug zum Interface zu verlieren scheine.
Hier ein Quellcode-Beispiel:
Hauptprogramm
-------------------
(Verweis auf die Interface-DLL ist gesetzt)
(NameSpace=APP)
Dim Test_Assembly As System.Reflection.Assembly = System.Reflection.Assembly.LoadFrom(Application.St artupPath + "\Libraries\Test_Assembly.dll")
Dim Interface_Vars As APP.Interface = Test_Assembly.CreateInstance("APP.Form_Main")
Interface_Vars.Interface_String = "blablabla"
Interface_Vars.show_Form()
Interface-DLL
-----------------
(NameSpace=APP)
Public Interface Interface
Property Interface_String() As String
Sub show_Form()
End Interface
aufzurufende DLL (Test_Assembly)
--------------------------------------------
(Verweis auf die Interface-DLL ist gesetzt)
(NameSpace=APP)
Public Class Form_Main
Implements APP.Interface
Private TestString As String
Private Property Interface_String() As String Implements Interface.Interface_String
Get
Return TestString
End Get
Set(ByVal value As String)
TestString = value
End Set
End Property
Private Sub show_form() Implements Interface.show_Form
Me.Show()
MsgBox(Interface_String)
End Sub
End Class
Mit dem angegebenen Quellcode kann ich zumindest über im Interface deklarierte Variablen Daten austauschen und auch das Hauptformular aufrufen.
Mein Wnsch ist allerdings, dieses Formular als Control in einem "SplitContainer" einzubinden. Das funktioniert allerdings nur, wenn ich das Formular im Hauptprogramm instanziere. Dann wiederum scheint es so zu sein, dass auf Grund der seperaten Instanz der Inhalt übergebener Variablen nicht in der anzusprechenden DLL bzw. dem daraus aufgerufenden Formular verfügbar ist und 0/ Nothing oder halt ein leerer String angezeigt wird.
Ich hoffe, dass ich alles verständlich formuliert habe und mir jemand helfen kann.
Vielen Dank schonmal im Voraus.
Gruß,
Michael