Avatar billede webster Nybegynder
04. marts 2000 - 14:33 Der er 6 kommentarer og
1 løsning

Class array

Kan det lade sig gøre at oprette et array med objekter erklæret ud fra en hjemmelave class. Hvis ja, hvordan opretter man det, og hvordan referer man senere til objekterne.
Bruger VB 6

På forhånd tak
Avatar billede baunsgaard Nybegynder
04. marts 2000 - 15:09 #1
dim i
dim objs(10) as MyObject

for i = lbound(objs) to ubound(objs)
  set objs(i) = new MyObject
next

'-- Hent object 3 og udfør en procedure

objs(2).DoYourStuff

Mvh
Avatar billede webster Nybegynder
04. marts 2000 - 16:11 #2
Okay. Men hvis jeg erstatter 10'tallet i sætningen: dim objs(10) as MyObject
med en integer variabel får jeg fejlen: constant expression required. Problemet er at jeg ikke ved hvor mange obbjekter der bliver oprettet. Hvordan kan man løse det?
Avatar billede webster Nybegynder
04. marts 2000 - 16:12 #3
Ups. Måske misforstod jeg noget. prøver lige koden af.

Avatar billede winkill Nybegynder
04. marts 2000 - 16:47 #4
Du kan jo evt. pruge Collection objektet.

Nedenstående kode skulle gerne give et lille indblik i hvordan Collection bruges.

--

Private Objs as New Collection

Private Sub Main
  ' Opret to nye Classes af typen MyClass
  Dim newClsA as New MyClass
  Dim newClsB as New MyClass
  ' Tildel værdier til den første Class
  newClsA.Navn = "Test 1"
  newClsA.Tekst = "Dette er en lille test"
  ' Tildel værdier til den anden Class
  newClsB.Navn = "Test 2"
  newClsB.Tekst = "Dette er endnu lille test"
  ' Gem de to Classes i "samlingen" ved navn Objs
  Objs.Add newClsA, newClsA.Navn
  Objs.Add newClsB, newClsB.Navn

  ' Udskriv alle Classes
  Dim i As Double
  For i = 1 to Objs.Count
    Debug.Print Objs.Item("Test 1").Navn & " = " & Objs.Item("Test 1").Tekst
  Next i
End Sub

--

Med venlig hilsen
Internørden WinKill
Avatar billede baunsgaard Nybegynder
04. marts 2000 - 17:23 #5
Måske kan du benytte ReDim til at ændre dimensionen af dit array. Jeg ved dog ikke lige om det virker med objecter...

Redim objs(MitNyeAntal)

Mvh
Avatar billede winkill Nybegynder
04. marts 2000 - 18:24 #6
Baunsgaard > Selvfølgeligt virker det.
Avatar billede webster Nybegynder
04. marts 2000 - 22:10 #7
Ikke sikkert. Jeg kan ikke få VB til det, men det behøver selv. ikke være ensbetydende med at det ikke kan.
Med Baunsgaard's første svar virkede fint nok. Bare mig der havde misforstået noget. Takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester