/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Usercontrols og Class Modules
Fra : Kristian Trenskow


Dato : 09-04-01 17:50

Jeg sidder i øjeblikket og er ved at udvikle et ActiveX komponent i Visual
Basic. Dertil har jeg added et Class Module, som indeholder nogle
funktioner, til brug af komponentet. Men af en eller anden grund kan jeg
ikke fra et Class Module bruge Subs eller Objecter på komponentet, hvilken
gør at jeg har kommunikation den ene vej, men ikke den anden. Nogle forslag
til hvordan jeg afhjælper problemet?

Hilsen Kristian Trenskow
kristian@trenskow.com




 
 
Jens Andersen (09-04-2001)
Kommentar
Fra : Jens Andersen


Dato : 09-04-01 22:14

Har du husket at dim din class fil

Dim burgernavn As New Class1

Husk at skrive New før dit classnavn



Mvh
Jens
til@infojens.dk



Tomas Christiansen (09-04-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 09-04-01 23:06

Jens Andersen skrev:
> Dim burgernavn As New Class1

Pas på med at bruge New i en Dim-sætning.

Tænk på følgende problem:

Dim objX As New clsX
Set objX = Nothing
MsgBox objX Is Nothing

Hvilket resultat tror du MsgBox giver?
False!!!
Selvom man umiddelbart ville forvente True.

-------
Tomas



Jens Andersen (09-04-2001)
Kommentar
Fra : Jens Andersen


Dato : 09-04-01 23:28

Det havde jeg ikke tænkt på, har ikke haft en opgave hvor det problem opstod

Hvordan bruger man så class filer ???

Hvis jeg ikke må sætte New ind virker de ikke som det skal !

Mvh
Jens
til@infojens.dk



Tomas Christiansen (10-04-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 10-04-01 10:22

Jens Andersen skrev:
> Det havde jeg ikke tænkt på, har ikke haft en opgave hvor det problem
opstod
>
> Hvordan bruger man så class filer ???
>
> Hvis jeg ikke må sætte New ind virker de ikke som det skal !

Du har en klasse, lad os kalde den K, og ønsker at instantiere et objekt O
af klassen K.

Dette kan gøres med:

Dim O As K
Set O = New K

Nu styrer du selv hvornår objektet skal instantieres, hvis du derimod
bruger:

Dim O As New K

lægger VB noget kode ind HVER ENESTE STED hvor du refererer til O, og hvis O
ikke er instantieret (dvs. at O Is Nothing => True), bliver det implicit
udført en Set O = New K "bag om ryggen" på én. Dette tager (lidt) længere
tid, koster (lidt) mere kode, men det værste er, at man kan have svært ved
at holde styr på hvornår objekter bliver instantieret.

-------
Tomas



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste