Avatar billede martin_moth Mester
27. maj 2002 - 22:59 Der er 1 kommentar og
1 løsning

Fejl i Collection - hjælp

Et eller andet sted i nedenstående kode er der en fejl. Koden består af et class-module, og en form med en knap (Command1). Jeg vil lave en collection af 300 objekter fra mit classmodul, og så kunne kalde de forskellige objekter frem fra min collection. Men uanset hvordan jeg kalder objekterne fra min collection (vha. Item), får jeg fat i objekt nr. 300. Også selvom jeg kalder f.eks. nr. 17.

Her er koden (lidt forsimplet for overskuelighed) - kan nogen finde fejlen?


----- Class-Modul: (clsSaede)-----

Option Explicit

Private pRaekkeNr As Integer

Public Property Get RaekkeNr() As Integer
  RaekkeNr = pRaekkeNr
End Property

Public Property Let RaekkeNr(ByVal vRaekkeNr As Integer)
  pRaekkeNr = vRaekkeNr
End Property



----- Kode på form: (Form1) -----

Option Explicit

Private TBiograf As New Collection

Private Function GetItem(ByVal v_index As Variant) As clsSaede
  Set GetItem = TBiograf.Item(v_index)
End Function

Private Sub Command1_Click()
  Dim objTemp As New clsSaede
  MsgBox "Rækkenr: " & GetItem(17).RaekkeNr
  'Ovenstående siger Rækkenr=300 og ikke 17 som den burde
  Set objTemp = Nothing
End Sub

Private Sub Form_Initialize()
  Dim i As Integer
  For i = 1 To 300
    Dim objSaede As New clsSaede
    objSaede.RaekkeNr = i
    TBiograf.Add objSaede
  Next i
End Sub

Jeg er sikker på at det er et eller andet banalt jeg har overset, men hvad?

/Martin
Avatar billede bennytordrup Nybegynder
28. maj 2002 - 08:29 #1
Prøv at erstatte Form_Initialize med følgende:

Private Sub Form_Initialize()
  Dim i As Integer
  Dim objSaede As clsSaede
  For i = 1 To 300
    set objSaede = new clsSaede
    objSaede.RaekkeNr = i
    TBiograf.Add objSaede
  Next i
End Sub
Avatar billede martin_moth Mester
28. maj 2002 - 09:36 #2
Tak - det var lige det der skulle til. /Martin
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