[vb] Object als string

Pagina: 1
Acties:

  • Twilight
  • Registratie: December 2000
  • Laatst online: 20-08 09:09
Ik ben met Visual Basic aant het klooien, het probleem is alleen dat ik in dit geval mn mediaplayer niet kan aanroepen.
ik heb nu dit:

Private Function Fade(Speler As Integer, Seconds As Integer)
playerOut = "Player" & Speler
Do While playerOut.Volume > -10000
hier komt wat shit.
Loop

PlayerOut is dus variabel. Hij maakt daar Player1 en Player2 van die ik in mn form heb. Hij moet OF Player1 OF Player2 aanroepen.

Nu krijg ik als error: object required bij playerOut.Volume

Kun je geen string gebruiken om een object aan te roepen ofzo?

www.nanon.nl


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 23:22

mulder

ik spuug op het trottoir

Kun je niet beter het object aan die functie meegeven ipv het nummer?

oogjes open, snaveltjes dicht


  • Twilight
  • Registratie: December 2000
  • Laatst online: 20-08 09:09
Dat kan, maar die is variabel, en is het zo makkelijker...

www.nanon.nl


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 23:22

mulder

ik spuug op het trottoir

Dat het makkelijker is zou ik niet willen zeggen.

Dynamische variabelen zijn volgen mijn weten niet mogelijk in VB. Wat je zou kunnen doen is een array van objecten kunnen gebruiken. Of misschien dat GetObject iets kan betekenen, maar daar weet ik ook verder niet veel van.

oogjes open, snaveltjes dicht


Verwijderd

Het makkelijkst is om de ene mediaplayer weg te gooien, dan de andere te kopieren en te plakken. VB vraagt dan zelf of je een array wilt, dan zeg je Yes. Nu kan je MediaPlayer1(0) en MediaPlayer1(1) gebruiken :). Die 0 en 1 kan je variabel maken door een integer.

Want wat je nu probeerd (ala Flash) kan VB (gelukkig!) niet aan. Want dan zou VB code helemaal onleesbaar worden :).

Verwijderd

Verwijderd schreef op 18 januari 2003 @ 19:22:
Het makkelijkst is om de ene mediaplayer weg te gooien, dan de andere te kopieren en te plakken. VB vraagt dan zelf of je een array wilt, dan zeg je Yes.
Gewoon index property invullen leek je te simpel :?

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

Misschien kan je CallByName wel gebruiken, als het gaat om objecten. Ik weet de exacte syntax niet meer, maar ik heb er een tutorial op m'n site over :Y)

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Gebruik inderdaad een Array.

code:
1
2
3
4
5
6
7
Private Function Fade(Speler As Integer, Seconds As Integer)

Do While player(Speler).Volume > -10000
  hier komt wat shit.
Loop

End Function


Of geef het Object mee aan de functie

code:
1
2
3
4
5
6
7
Private Function Fade(player As Object)

Do While player.Volume > -10000
  hier komt wat shit.
Loop

End Function

  • Mart!
  • Registratie: Februari 2000
  • Laatst online: 23-08 14:17
De laatste oplossing die robjanssen geeft is natuurlijk het beste. Deze code duw je zo in een library en kun je dan in alle projecten waar je een mediaplayer gebruikt DIRECT weer gebruiken. Dat is bij de eerste oplossing niet zo.
Pagina: 1