Hejsan, Tjingeling! Hejsan, Tjingeling igen! hej, Jag hade precis den här frågan nån gång i höstas. Efter ett tag framkom det att detta bara kan låta sig göras om programmet är en ActiveX (tror jag att svaret var) av någon underlig anledning.  OK, tack. VB har lite konstiga regler ibland har jag märkt när det gäller bla typer. Om du bara ska använda klassen eller medlemmen inom projektet. Kan du lätt lösa det genom att  deklarera dem som Frind Istället för som Public...egna typer i klasser
    
    
Jag har definerad en egen public type i en vanlig module (.bas). Jag försökte sedan att använda typen till att definera variabler i en klass och att använda Public Property get/let med samma type som argument. Men jag får alltid (samma vid användande av sub och function) detta felmeddelande: 
"Compile error: 
Only public user defined types defined in public object modules can be used as parameters or return types for public procedures of class modules or as fields of public user defined types" 
Jag vill allså kunna använda samma type i olka moduler/klasser och att använda den som argument i sub/functions.
Hoppas någon kan hjälpa mig!
GorSv: egna typer i klasser
    
    
Det ar lattare att se problemet om du berattar hur du skrivit. Antar att det ar nat sant har?
i modulen:
Public type X
  y as string
end type
i form:
...
dim temp as X
...
temp.y="innehall"
...
Visa garna!
/CissiSv: egna typer i klasser
    
    
Det var något liknade, fast det var med egna classer.
Ungerfär såhär:
MODULES (.bas) 
Option Explicit 
Public objA As cA 
Public objB As cB 
Public Type test 
t1 As Integer 
t2 As String 
End Type 
Sub main() 
Set objA = New cA 
Set objB = New cB 
End Sub 
CLASS cA 
Option Explicit 
Private cTmp As test 
Public Property Get tmp() As test 
tmp = cTmp 
End Property 
CLASS cB 
Option Explicit 
Private a As test 
Public Sub b(t) 
a = objA.tmp 
End Sub Sv: egna typer i klasser
    
    
Kollade lite i mina bocker och fick fram en liten tabell dar det framgar att nar man anvander klasser sa kan typerna bara vara privata.
Tabellen:
Procedure/Module:   You can create as:   Variables of T can be:
Procedures             Not applicable     Local only
Standard modules   Private/Public      Private/Public
Form modules         Private only        Private only
Class modules        Private only         Private only
/CissiSv: egna typer i klasser
    
    
Jag ha hittat ungerfär samma tabell men en sak som gör jag fortsätter jobbar på detta är att detta funkar:
CLASS cA
Private cTmp As test
Public Function getT1() As String
    getT1 = cTmp.t1
End Function
Så det funkar att definera en variable som en egendefinerad Type och det går att skicka tillbaka varje del av typen. men det verkar inte fungerar att skicka tillbaka hela typen?Sv: egna typer i klasser
    
    
- HansSv: egna typer i klasser
    
    Sv: egna typer i klasser