Hallo zusammen,
Ich bin gerade dabei ein paar Komponenten zu bilden um Elemente für eine Oberfläche bereitzustellen. Dazu muss ich auch den ein oder anderen Event an die Ziel Oberfläche des Projektes A liefern .
Das ganze ist grob so das ein Projekt A sich z.B. eine Eingabemaske durch Komponente 1 erstellt. Komponente 1 besteht aus einer Form mit einem Frame drauf in dem die Textboxen etc. angeordnet sind und einer Klasse die mir eine Instanz erstellt und eine Instanz des Frames an das Projekt A zurückliefert.
Die Klasse der Komponente 1 handelt auch die auftretenden Events der Form bzw Steuerlemente und reicht sie an Porjekt A weiter.
Da ich das ganze aus verschiedenen Komponenten mache habe ich mir einen Eventhandler in Projekt A als Schnittstelle geschaffen der ungefähr so aussieht.
Public Sub EventHandler(ByRef frmForm As Form, ByRef objControl As Object, _
ByRef strEventName As String, _
Optional ByVal intKeyCode As Integer, Optional ByVal _
intShift As Integer,
Optional ByVal intIndex As Integer)
Call MainEventHandler(Me, objControl, "Click", intKeyCode, intShift, _
intIndex)
End Sub Hier noch der Aufruf der Methode aus Kompnente 1, das Parent Objekt ist hier einfach die Referenz auf die Mainform des Projektes A.
Call m_objParent.EventHandler(m_frmPicSwitchPanel, _
m_frmPicSwitchPanel.pbxImageButton.Item(intIndex), "Click") Wenn ich diese Zeile so ausführe ehalte ich den Fehler "Typen unverträglich". Bei der Überprüfung mit TypeOf m_frmPicSwitchPanel is Form ergibt sich ein True. Also scheint bei der Übergabe zwischen dem Projekt und der Komponente der Typ zu verändern in Object.
Ändere ich den Eventhandler dementsprechen ab, funktioniert der Aufruf, aber ich verliere die Information das es eine Form ist.
Public Sub EventHandler(ByRef frmForm As Object, ByRef objControl As Object, _
ByRef strEventName As String, _
Optional ByVal intKeyCode As Integer, Optional ByVal _
intShift As Integer,
Optional ByVal intIndex As Integer) Gibt es eine Möglichkeit solche Objekte in ihre alte "Form" zu bekommen sprich zu Parsen, das gleiche wäre für den Control Typ interessant. Denn durch den Typ des hereingereichten Control bzw. Steuerelementes wird im Programmablauf weiter entschieden was zu tun ist.
Mir scheint da Grundlegendes über die Mechanismen bei der Übergabe zu fehlen, wenn jemand eine Quelle hat wo ich mich da eventuell schlau machen kann wäre das wirklich gut. Ich hab schon etwas gesucht und sucher weiter aber bisher hab ich nicht wirklich was gefunden.
Grux Papagei |