Ga naar inhoud

VB6 probleempje


Aanbevolen berichten

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
Link naar reactie
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]
Link naar reactie
Heel erg bedankt. Je had trouwens gelijk wat mijn class betreft, die heet niet Object. Het gaat in werkelijkheid om een class met 10 variablelen en ik vond het op die manier een beetje te lang worden. Ik heb dus de fictieve class Object gebruikt om mijn probleem uit te leggen. In iedergeval heel erg bedankt. Ik had niet gedacht dat het zo simpel was. In het boek dat ik heb staat wel hoe je een nieuwe class kunt maken, maar dus niet hoe je dit moest oplossen. Adios, El Loco
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...