Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

VB6 probleempje

elloco
2 antwoorden
  • Hoi,

    Ik zit met een probleem waar ik niet uit kom. Ik heb zelf een klasse gedefinieerd. Deze klasse heet Object en ziet er als volgt uit:
    [code:1:acbb75c1bb]
    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 Function setInfo(ByVal strTemp As String)
    strInfo = strTemp
    End Sub
    [/code:1:acbb75c1bb]
    Vervolgens maak ik 2 instanties van Object (Object1 en Object2). Aan Object1 ken ik dan een aantal waarden toe en vervolgens wil ik dan de waarden van Object1 aan Object2 toekennen. Volgens mij moet dat mogelijk zijn met een '=' teken, net als bij bv. 2 Integers, maar dan krijg ik een foutmelding.
    [code:1:acbb75c1bb]
    Private Object1 As New Object
    Private Object2 As New Object

    Object1.setName ("object 1")
    Object1.setNumber (1)
    Object1.setInfo("Niks bijzonders over te vertellen")

    [b][color=red]Object2 = Object1[/color][/b]
    [/code:1:acbb75c1bb]
    Hier gaat het dus fout. Ik neem aan dat ik zelf een functie moet schrijven die er voor zorgt dat als ik "Object2 = Object1" gebruik, alle waarden van Object1 aan Object2 worden toegekent. Maar hoe doe ik dat?

    Alvast bedankt,
    El Loco
  • Ik neem aan dat je class niet "object" heet. Om te beginnen zit er een kleine fout in je laatste sub in je class, je begint met function en eindigt met sub. Het begin moet ook sub zijn.

    Dan jouw echte probleem, object2 = object1 werkt niet zonder het Set commando. Het moet dus zijn: Set Object2 = Object1

    Code class (genaamd ding.cls)
    [code:1:9e3bba1341]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:9e3bba1341]

    Code Form1
    [code:1:9e3bba1341]Option Explicit

    Private Object1 As New Ding
    Private Object2 As New Ding

    Private Sub Form_Load()
    Object1.setName ("object 1")
    Object1.setNumber (1)
    Object1.setInfo ("Niks bijzonders over te vertellen")

    Set Object2 = Object1
    End Sub[/code:1:9e3bba1341]

Beantwoord deze vraag

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