Vraag & Antwoord

Programmeren

Problemen met classes in VB 6

2 antwoorden
  • Hoi, Ik heb een probleem met het volgende: Ik heb een zelf geschreven class Ding. Deze class heeft een string Name, een integer Number en een string Info. De code staat hieronder. [code:1:a0458f335d] Option Explicit Private strName As String Private intNumber As Integer Private strInfo As String Public Function getName() As String getName = strName End Function Public Function getNumber() As Integer getNumber = intNumber End Function Public Function getInfo() As String getInfo = strInfo End Function Public Sub setName(ByVal strTemp As String) strName = strTemp End Sub Public Sub setNumber(ByVal intTemp As Integer) intNumber = intTemp End Sub Public Sub setInfo(ByVal strTemp As String) strInfo = strTemp End Sub[/code:1:a0458f335d] Ik heb ook nog een andere class, genaamd Verzameling. Deze heeft een string Name en een array van class Ding. [code:1:a0458f335d] Option Explicit Private strName As String Private aDing(1 to 10) As New Ding Public Function getDing(intIndex As Integer) As Ding Set getDing = aDing(intIndex) End Function Public Function getName() As String getName = strName End Function Public Sub setDing(intIndex As Integer, ByVal dingTemp As Ding) Set aDing(intIndex) = dingTemp End Sub Public Sub setName(ByVal strTemp As String) strName = strTemp End Sub[/code:1:a0458f335d] Nou heb ik geen flauw idee of dit zo zou werken (voor getDing en setDing), want ik kan het niet eens uittesten. Het probleem waar ik nu mee zit is namelijk het volgende: Als ik vanuit een andere class een nieuwe verzameling maak en er vervolgens een naam aan geef gaat het nog goed. Maar als ik dan een ding in de array wil zetten gaat het mis. [code:1:a0458f335d] Dim dTemp As New Ding dTemp.setName("Nieuw Ding") dTemp.setNumber(1) dTemp.setInfo("") newVerzameling.setName("nieuwe verzameling") newVerzameling.setDing(1, dTemp)[/code:1:a0458f335d] Ik krijg hier de foutmelding: Compile Error Expected: = Dit snap ik dus niet, want bij setName gaat het wel goed. Wie kan mij vertellen wat ik hier fout doe? Alvast bedankt, El Loco
  • je roept een sub aan met haakjes maak er: [code:1:60e9f7b2cc]newVerzameling.setDing 1, dTemp[/code:1:60e9f7b2cc] of: [code:1:60e9f7b2cc]Call newVerzameling.setDing(1, dTemp)[/code:1:60e9f7b2cc] van dat het met het aanroepen v/d andere subs goed gaat heeft te maken met het aantal argumenten, namelijk één (1), de waarde tussen de haakjes wordt dan geinterpreteerd als een te evalueren expressie, weliswaar onbedoeld (door jou) maar niet fout. bij twee (of meerdere) argumenten wordt deze (voor vb nu wel vreemde) statement natuurlijk als (syntactisch) incorrect gezien.

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.