Mitenkähän olisi mahdollista otsikossa mainittu homma?
Jos olisi koodia:
Private Sub Vaihto(olio1 as clsLuokka, olio2 as clsLuokka) olio1 = olio2 End Sub
niin missä kohdalla nuo argumentit esitellään ja miten?
Kielenä siis vb6
Tässä pieni esimerkki:
Private Type joo x As Integer y As Integer End Type Private Sub Form_Load() Dim haa As joo haa.x = 4 haa.y = 8 MsgBox moi(haa) End Sub Private Function moi(hei As joo) moi = hei.x * hei.y End Function
Edit: Keksinpä taas hyvät nimet noille. Menee helposti sekaisin. :P
Nyt taidettiin puhua ihan olioista, eikä structeista:
Set otus1 = otus2
Oho, niinpäs olikin. Meni sekasin nuo. :P
Niin tuota Blaze viittitkö laittaa tuon vielä esimerkkikoodissa? Yksi koodirivi ei aivan heti kerro sen toiminnasta...ainakaan mulle
' Vaihtaa olio1:n ja olio2:n keskenään Private Sub Vaihto(olio1 as clsLuokka, olio2 as clsLuokka) Dim temppi As clsLuokka Set temppi = olio1 Set olio1 = olio2 Set olio2 = temppi Set temppi = Nothing 'tuhotaan temppiluokka, ettei se jää syömään muistia End Sub
Mites sitten kun funktio palauttaa olion/luokan? Milloin se olio sitte esitellään?
Milloin itse haluat?
Public Sub EkaFunkkari() Dim palle As MunLuokka Set palle = TokaFunkkari End Sub Public Function TokaFunkkari() As MunLuokka Set TokaFunkkari = New MunLuokka(ihkui, parametrei) End Function
(Disclaimer: mutupohjalta. Ei oo just nyt missään asennettua VB:tä.)
Aihe on jo aika vanha, joten et voi enää vastata siihen.