Vraag & Antwoord

Programmeren

[VB6] Doorgeven van een array naar een class module

8 antwoorden
  • ik ben bezig met een class, deze moet een listbox maken van een label array, (ben bezig met een soort windows media center, aangezien ik de normale listbox niet goed genoeg vind (aangezien je ze niet transparant kan maken geen plaatjes toe kan voegen etc. etc.) wil ik zelf zoiets maken.) in de class staat een functie: MakeList [frm.form, labelarray() as label, list() as string, optional Tussenruimte as integer = 30] list() is de lijst met alles wat in de box moet komen, tussenruimte is de ruimte tussen de labels. Nu het probleem: ik kan die array niet doorgeven; heb de class gewoon gedeclareerd in het form waarin ik het wil gebruiken (private ListCls as new ClsListBox) Hoe komt dit?? a.u.b hulp!
  • Het eerste wat ik zou checken is of je de array in je class als public hebt gedeclareerd, bij private blijft de array eigendom van de class zelf en zal deze de array niet tonen aan outside elementen zoals in dit geval je form, ook al is de class bekend in je form.
  • ik kan je niet helemaal volgen: ik heb de functie public gemaakt: hij ziet er zo ongeveer uit: (dit is dus in de class) [code:1:cf2d291a1d] Public Function LoadListBox(frm As Form, Dims As Dims, lblArray() As Label, ListArray() As String, Optional Spacing As Integer = 20) 'De code end function [/code:1:cf2d291a1d][/list]
  • en hoe geef je hem door? De aanroepende procedure moet volgens mij zoiets doen: Dim lblArray(2) As Label ' vullen lblArray(0) = ..... lblArray(1) = ..... ' en doorgeven lblrray = loadlistbox(frm,Dims, lblArray, listarray)
  • had het precies op die manier.. lukt niet.. de fout code die hij geeft is de volgende: Compile error: Private enum and user defined types cannot be used as parameters or return types for public procedures, public data members, or fields of public user defined types.
  • Public Function LoadListBox(frm As Form, Dims As Dims, lblArray() As Label, ListArray() As String, Optional Spacing As Integer = 20) Wat voor type is dims ? Is dat een zelfgedefinieerd type? Wel deel van "user defined types cannot be used as parameters" is je niet duidelijk in de foutmelding?
  • dims is zelfgemaakte 'type' (mijne lijkt op de type RECT) ok, dus dat dims mag niet, dacht ik ook aan: haal je het weg en je krijgt hetzelfde, precices de zelfde foutmelding!
  • Waar ik aan zit te denken is, en ik weet niet of dit helpt, dat je een array van onbekende lengte door zit te geven, misschien kun je eerst een (veel te grote) dimensie er aan geven. Public Function LoadListBox(frm As Form, Dims As Dims, lblArray([color=green:878bcd187c]1 to 999[/color:878bcd187c]) As Label, ListArray([color=green:878bcd187c]1 to 999[/color:878bcd187c]) As String, Optional Spacing As Integer = 20) Niet geschoten is altijd mis

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.