[vb] QueryInterface op een late binding object

Pagina: 1
Acties:

  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 02-09 17:49

mOrPhie

❤️❤️❤️❤️🤍

Topicstarter
Stel je dit voor:
code:
1
2
3
Dim a As Object
  
  Set a = CreateObject("MijnObject.MijnKlasse")

Nu wil ik dus van deze dus in runtime gaan achterhalen welke functies hij ondersteund. In VC++ zou ik dit met QueryInterface kunnen doen, maar in VB is het een ander verhaal.

Eigenlijk wil ik dus achterhalen of een bepaalde functie die ik wil gaan aanspreken wordt ondersteund door de klasse. Als ik op internet zoek op "QueryInterface vb" dan krijg ik dus alleen maar verhaaltjes terug dat de "Set" statement, op de achtergrond, "QueryInterface" uitvoert.

Weet iemand dus hoe ik nu de functies kan enumereren uit het door mij gebinde object?

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


Verwijderd

Je haalt in je vraag constant functies en interfaces door elkaar wat wil je nu eigenlijk?

  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 02-09 17:49

mOrPhie

❤️❤️❤️❤️🤍

Topicstarter
Op vrijdag 31 mei 2002 10:38 schreef Yarvieh het volgende:
Je haalt in je vraag constant functies en interfaces door elkaar wat wil je nu eigenlijk?
uuhm sorry, maar waar haal ik dat door elkaar dan? :?

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


Verwijderd

Op vrijdag 31 mei 2002 10:53 schreef mOrPhie het volgende:
uuhm sorry, maar waar haal ik dat door elkaar dan? :?
Ehh hier?
Nu wil ik dus van deze dus in runtime gaan achterhalen welke functies hij ondersteund.
Okay...functies dus...
In VC++ zou ik dit met QueryInterface kunnen doen,
QueryInterface ehh okay..interfaces dus..
Weet iemand dus hoe ik nu de functies kan enumereren uit het door mij gebinde object?
Oh nee toch weer functies..

  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 02-09 17:49

mOrPhie

❤️❤️❤️❤️🤍

Topicstarter
Op vrijdag 31 mei 2002 11:01 schreef Yarvieh het volgende:

[..]

Ehh hier?
[..]

QueryInterface ehh okay..interfaces dus..
[..]

Oh nee toch weer functies..
QueryInterface is alleen maar een API die het mogelijk zou maken te achterhalen wat de functies zijn. Verder heb ik het nergens over interfaces.

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


Verwijderd

QueryInterface is alleen maar een API die het mogelijk zou maken te achterhalen
wat de functies zijn. Verder heb ik het nergens over interfaces.
Nee, queryinterface stelt je in staat aan 'n object te vragen of ie een bepaalde interface ondersteund en 'n referentie naar die interface te krijgen.

Wat idd het zelfde is als :
code:
1
2
3
4
Dim o as object
Dim MySpecificObject as IMyInterface
Set O = CreateObject("Some.Object")
set MySpecificObject = o

Maar op deze manier kan je er dus achter komen of een object een van te voren gedefinieerde interface ondersteund.

Gaat het jou alleen om een bepaalde functie en je object support de IDispatch interface dan kan je 't gewoon op de
volgende manier doen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
    Dim O as object
    Set O = CreateObject("Some.Object")
    
    On Error Resume Next
    
    Call o.SomeFunction
    If Err = 438 Then
      'Function not supported by object
      'handle error here
    End If
    
    On Error GoTo 0

Wil je echter echt een lijst van functies zal je met IDispatch aan de gang moeten en dat is in vb eigenlijk geen doen, maar in vc doe je op precies de zelfde manier (ook IDispatch) dus hoe je er bij komt dat je dit met QueryInterface zou kunnen :?
Pagina: 1