vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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

Visual-Basic Einsteiger
Parameterübergabe zwischen 2 ActiveX Komponenten 
Autor: Superpapagei
Datum: 16.07.08 09:07

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
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Parameterübergabe zwischen 2 ActiveX Komponenten802Superpapagei16.07.08 09:07
Re: Parameterübergabe zwischen 2 ActiveX Komponenten444Dirk22.07.08 16:14
Re: Parameterübergabe zwischen 2 ActiveX Komponenten453Superpapagei30.07.08 09:14

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