Avatar billede Lasse Novice
12. april 2002 - 05:29 Der er 7 kommentarer og
1 løsning

Collection og max size

Jeg har en collection, men af en eller anden grund kan jeg ikke proppe mere end 256 objekter i. Dens Counter fortsaetter dog ufortrødent. Er der nogen der ved hvordan man ændrer den MAX setting, eller hvordan man kommer udenom det?
Avatar billede nolle_k Nybegynder
12. april 2002 - 08:37 #1
Ahhhhh.. Kan det nu or pas!!
Avatar billede nolle_k Nybegynder
12. april 2002 - 08:41 #2
Hvad er det der sker, der gør at du tror du ikke kan smide mere end 256 ind i denne collection??? Kommer der en fejl eller hva!!

Har selv lige prøvet med følgende kode, der virker uden problemer

Private Sub Form_Load()
  Dim a As New Collection
  Dim i As Integer
  Dim var As Variant
  Dim x As Collection
 
  For i = 0 To 3000
    Set x = New Collection
    x.Add i
    a.Add x
  Next i
 
  For Each var In a
    Debug.Print var(1)
  Next
 
 
 
End Sub


//Nolle_K
Avatar billede Lasse Novice
12. april 2002 - 16:34 #3
Hmm.... nae, nej, det var mig der blev bange over mit "Locals" vinduet, da det af en eller anden grund kun viser optil 256. Jeg troede ikke at collectionen var laengere... men det er den kan jeg se. Selv dit eks. viser kun 256 i "Locals" vinduet. Men der er altsaa flere i
Avatar billede Lasse Novice
12. april 2002 - 16:41 #4
nolle lige inden du modtager dine point. Jeg er lige startet paa VB, og har undret mig over de to ting man erklarer under parametrene i et functions kald: ByRef og ByVal. Hvad betyder disse.
Avatar billede kedde65 Praktikant
12. april 2002 - 22:50 #5
ByVal betyder at du overfører en parameter til en funktion som en værdi(en kopi af variablen) ByVal betyder at du i praksis overfører en reference til din variabel til funktionen.

Kedde
Avatar billede kedde65 Praktikant
12. april 2002 - 22:51 #6
Den sidste skulle selvfølgelig være ByRef ;-))
Avatar billede kedde65 Praktikant
12. april 2002 - 22:54 #7
Kig på dette lille eksempel, det skulle forklare meningen ;-)

Private Sub Command1_Click()
    Dim j As Integer
    j = 0
    Debug.Print j
    tmp1 j
    Debug.Print j
    tmp2 j
    Debug.Print j
End Sub
Public Function tmp1(ByVal i As Integer)
    i = i + 1
End Function
Public Function tmp2(ByRef i As Integer)
    i = i + 1
End Function

Iøvrigt skal du være opmærksom på at hvis du ikke skriver noget så overføres parametre ByRef.

Kedde
Avatar billede nolle_k Nybegynder
15. april 2002 - 08:14 #8
Hmmmm!!! Man undres!! Egentlig var det jo mig, der svarede eller redegjorde for problemet men en anden svarer på et andet spørgsmålene og får pointene!!! Hmmmmmmmmmmm.....
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