[vb] interface pointers (voor MSN)

Pagina: 1
Acties:

  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Topicstarter
Ik probeer wat te klooien met Add-Ins voor MSN messenger.

Uit de help:
Your IMessengerAddIn_GetFeature method would return a pointer to the IMessengerEmail interface that is exposed by your add-in component.

Ik heb dus:
code:
1
2
3
4
5
6
Implements IMessengerAddIn
Implements IMessengerEmail

Public Function IMessengerAddIn_GetFeature(ByVal bstrFeatureGuid As String) As Variant
IMessengerAddIn_GetFeature = IMessengerEmail
End Function

Als ik het zo gebruik, dan gebeurt er niks.. wat doe ik verkeerd?

edit: m.a.w. die pointer naar de IMessengerEmail werkt niet.. hoe moet ie dan wel?

Hier had uw advertentie kunnen staan :).


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 03-09 15:18

Crazy D

I think we should take a look.

IMessengerEmail is ook geen pointer ;)
Probeer eens
IMessengerAddIn_GetFeature = Me

Exact expert nodig?


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Topicstarter
Op donderdag 06 juni 2002 17:59 schreef Crazy_D het volgende:
IMessengerEmail is ook geen pointer ;)
Probeer eens
IMessengerAddIn_GetFeature = Me
'k begrijp je niet helemaal..
= me? (edit: Geeft in vb de volgende error: "Object doesn't support this property or method")
IMessengerEmail is toch een interface? Waar je naar moet verwijzen met een pointer?

Hier had uw advertentie kunnen staan :).


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02-09 19:44

Gerco

Professional Newbie

Het is inderdaad een interface, maar hij vraagt om een pointer naar een object wat die interface ONDERSTEUND. In dit geval is dat dus "Me".

Probeer dit eens:
code:
1
2
3
Public Function IMessengerAddIn_GetFeature(ByVal bstrFeatureGuid As String) As Variant
Set IMessengerAddIn_GetFeature = Me
End Function

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Topicstarter
Op donderdag 06 juni 2002 19:17 schreef Gerco het volgende:
Het is inderdaad een interface, maar hij vraagt om een pointer naar een object wat die interface ONDERSTEUND. In dit geval is dat dus "Me".

Probeer dit eens:
code:
1
2
3
Public Function IMessengerAddIn_GetFeature(ByVal bstrFeatureGuid As String) As Variant
Set IMessengerAddIn_GetFeature = Me
End Function
JEAH!
Het werkt!!!
Thanx Man!!

Hier had uw advertentie kunnen staan :).


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Topicstarter
In dezelfde categorie:

wat is het verschil tussen een 'object reference' en een 'object expression'.

geval 1:
code:
1
object.IsRegistered(bstrAddInCLSID as String) As Boolean

object
An object reference that resolves to the name of the IMessengerAddInManager interface.
oplossing:
code:
1
2
3
4
Private Addin As New MessengerAddInManager
Private Sub Command4_Click()
Adin.RegisterAddIn "Test", CLassCLSID
End Sub

geval 2:
code:
1
object.OnNewMessage(ByVal bstrFromText as String,ByVal bstrContext as String)

object
An object expression that resolves to the name of the Messenger object.
oplossing:
:? die weet ik dus niet!
code:
1
2
3
4
5
Private test As IMessengerEmailEvents (of 
Private test As Messenger)
Private Sub Command4_Click()
test.OnNewMessage "Test","test"
End Sub

In het 2e geval krijg ik de volgende foutmelding:
"Object variable or withblock variable not set".

Hier had uw advertentie kunnen staan :).


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02-09 19:44

Gerco

Professional Newbie

Misschien is OnNewMessage wel een Event?

In dat geval moet je de object variabele WithEvents declareren en dan kun je met die comboboxjes bovenaan je code de event procedures maken.

Anders weet ik het ooknie

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Topicstarter
Op donderdag 06 juni 2002 22:56 schreef Gerco het volgende:
Misschien is OnNewMessage wel een Event?

In dat geval moet je de object variabele WithEvents declareren en dan kun je met die comboboxjes bovenaan je code de event procedures maken.

Anders weet ik het ooknie
Neey, het zijn juist geen events, maar methods. het lukt dus niet om ze aan te roepen. Het zijn events voor de messenger client, niet voor mijn addin. Daarom die rare namen.

Behalve dat als ik toch withevents toevoeg, krijg ik de volgende error:
"Object does not source automation events".

Hier had uw advertentie kunnen staan :).


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Topicstarter
*kick*.. :)

heeft iemand een antwoord?

ff voor de duidelijkheid nog, alle problemen hebben te maken met AddIns voor msn messenger.
op
http://download.microsoft.com/download/windowsmessenger/Install/4.6/WIN98MeXP/EN-US/MessengerAddIn.exe
staat een helpfile met voorbeelden erin, daar komen de problemen ook van :)

Hier had uw advertentie kunnen staan :).

Pagina: 1