vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 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

VB.NET - Fortgeschrittene
Methode konnte nicht gefunden werden - Schnittstellen/plugin Problem 
Autor: teccer
Datum: 29.10.04 11:47

Guten Tag zusammen,

ich baue derzeit eine Anwendung, die zur Laufzeit Plugins einlädt. Ich habe eine SDK geschrieben, die zwei Interfaces besitzt. Das eine Interface "IPlugIn" ist für die Plugins und "ICommunication" soll für die kommunikation von plugin zu Circuli sein. Also, wenn das Plugin eine Message an Circuli senden will.

Interfaces:
    Public Interface IPlugIn
        ReadOnly Property Prop(ByVal Message As IPlugIn.Messages) As _
          PlugInProperties
        Function GetMessage(ByVal CopyOfMainWindow As Form, _
        ByVal Message As IPlugIn.Messages) As ReturnProperties
        Property Test() As ICommunication
    End Interface
Public Interface ICommunication
        Function ReceiveMessage(ByVal sender As IPlugIn, _
        ByVal message As IPlugIn.Messages)
    End Interface
Hier nun ein Plugin:
Public Function GetMessage(ByVal CopyOfMainWindow As System.Windows.Forms.Form, _
  ByVal Message As IPlugIn.Messages) As IPlugIn.ReturnProperties Implements _
  IPlugIn.GetMessage
        If Message = Message.MyMenuItemClick And Not (IsNothing(Test)) Then
            Test.ReceiveMessage(Nothing, Nothing)
        End If
    End Function
Private _Test As ICommunication
    Public Property Test() As ICommunication Implements IPlugIn.Test
        Get
            Return _Test
        End Get
        Set(ByVal Value As ICommunication)
            _Test = Value
        End Set
    End Property
Circuli Klasse MainWindow (Hauptform):
Implements ICommunication
Public Function ReceiveMessage(ByVal sender As IPlugIn, _
    ByVal message As IPlugIn.Messages) Implements ICommunication.ReceiveMessage
        MsgBox("Receive")
    End Function
1. In der Klasse MainWindo wird eine Instanu des Plugins erzeugt
2. Dann wird folgendes aufgerufen, um im Plugin die Variable "_Test" zu setzen
plugin.Test = Me
3. Direkt im Anschluss wird die GetMessage im Plugin angesprochen
plugin.GetMessage(Nothing, IPlugIn.Messages.MyMenuItemClick)
Eigentlich müsste nun das Plugin in meiner MainWindow die Methode ReceiveMessage ausführen. Ich bekomme aber die FM, dass die Methode nicht gefunden wurde. Entweder sucht das Teil im Plugin danach, dann ist es klar, weil es da nicht drin ist oder ich habe die lokale Variable im Plugin falsch befüllt.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Methode konnte nicht gefunden werden - Schnittstellen/plugin...1.305teccer29.10.04 11:47
Keine Ahnung warum..732teccer29.10.04 12:24
Re: Keine Ahnung warum..692ModeratorDaveS29.10.04 12:39
Re: Keine Ahnung warum..667teccer29.10.04 13:26
Re: Methode konnte nicht gefunden werden - Schnittstellen/pl...753ModeratorDaveS29.10.04 12:26
Re: Methode konnte nicht gefunden werden - Schnittstellen/pl...901teccer29.10.04 13:24
Re: Methode konnte nicht gefunden werden - Schnittstellen/pl...859ModeratorDaveS29.10.04 14:07
Re: Methode konnte nicht gefunden werden - Schnittstellen/pl...808teccer29.10.04 14:26

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