[vb6] vraag over references

Pagina: 1
Acties:

  • Sjakskus
  • Registratie: Maart 2002
  • Laatst online: 26-08 14:49
kan iemand mij vertellen, waarom je , als je een refercence in je project het aangemaakt je niet alle classes daarvan zo kan gebruiken.

Ik ben een redelijke newbie en ik ben al 2 dagen hier en op internet aan het speuren, maar ik kom er maar nie achter wat ik verkeer doe

ik zal een voorbeeldje geven:

stel je maakt een reference naar "Windows media player" en je kijkt in de object browser dan zie je daar een heleboel classes staan. type je dan vervolgens in een functie "mediaplayer." dan verschijnen alleen de globals en niet die classes

nu kwam ik er achter dat als ik "Dim test as mediaplayer.*******" ik ze wel zie dus ik dacht dat ik dan wel de functies en properties ed zou kunnen gebruiken, maar dat werkt ook niet


hoe kan ik die classes gebruiken?


ow btw dit van mediaplayer is maar een voorbeeldje het is meer een algemene vraag

Beschikbaar voor ontwikkeling van (webbased) applicaties en dataconversies


Verwijderd

Dit is basiskennis Object Orientatie en COM, maar ik zal een poging doen het uit te leggen.

Met Object Orientatie heb je twee centrale begrippen:
- class: dit is eigenlijk een soort blauwdruk van hoe een object eruit gaat zien, welke methodes en properties het heeft
- object: een object is gemaakt aan de hand van een class, en hiermee kan je dus werken. Het neemt ook een stukje geheugenruimte in beslag.

Als je een reference zet, dan wijs je naar een COM component. Dit zorgt ervoor dat VB in de classes die in deze library staan toegankelijk zijn.

Met het Dim statement kun je als volgt een nieuw object aanmaken aan de hand van een classe:
Visual Basic:
1
Dim objConnection As New ADODB.Connection

Als je het New keyword hier weghaalt, dan wordt er alleen ruimte gemaakt voor een object van de gespecificeerde classe, maar wordt het niet aangemaakt.

Ik hoop dat het allemaal een beetje duidelijk is. Hier is alleen erg veel over te weten, en het beste is om wat VB boeken hierover te lezen, want alle benodigde kennis is toch niet in een enkel A4tje te typen (en ik ben te lui om meer te typen ;))

Succes :)

  • Sjakskus
  • Registratie: Maart 2002
  • Laatst online: 26-08 14:49
zoals je het hier zet is het duidelijk

hmm vb boek halen zat ik al aan te denken

wat wel vreemd is als ik "Dim test As New MediaPlayer.IMediaPlayer" laat uitvoeren, dan krijg ik een compile error "invalid use of new keyword"

weet iemand misschien in welk boek of site dit duidelijk word uitgelegd?

Beschikbaar voor ontwikkeling van (webbased) applicaties en dataconversies


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 12:08

gorgi_19

Kruimeltjes zijn weer op :9

Ik gok dat IMediaplayer een interface is en geen class en dat je deze dan ook niet kan aanroepen met het keyword new.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Sjakskus
  • Registratie: Maart 2002
  • Laatst online: 26-08 14:49
ok en hoe kun je zo'n inteface gebruiken?

Beschikbaar voor ontwikkeling van (webbased) applicaties en dataconversies


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 12:08

gorgi_19

Kruimeltjes zijn weer op :9

Als het een interface is, dan kan je bijvoorbeeld:
code:
1
Dim _a as IClassname = new Classname


Althans, zo is het onder andere bruikbaar in VB.Net. Weet niet of dit ook zo geldt in VB6.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Sjakskus
  • Registratie: Maart 2002
  • Laatst online: 26-08 14:49
hmmm in vb6 werkt het niet zo

Beschikbaar voor ontwikkeling van (webbased) applicaties en dataconversies


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 28-08 19:27

Crazy D

I think we should take a look.

Kijk even in de helpfile (MSDN)
Implements statement en dan met name het example
Dat maakt het imho behoorlijk duidelijk.

Exact expert nodig?


Verwijderd

Je kan/mag alleen dingen uit dat lijstje instancieren van het type "class" , interfaces zijn alleen defenities zonder implementatie dus die kan je ook niet aanmaken.
Pagina: 1