Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Visual Basic
Expertise: Intermediate
Nov 20, 2000

Creating Constructors


In the coming Visual Studio 7, it is possible to create constructors in VB. One of the great benefits of using constructors is that they make it possible to control the initial state of a class. This is done by setting values in the Initialize event of the class. It would be preferable to control the states from outside the class with dynamic data, and this is possible in VB5 and 6, using this workaround.

Say you have a class CEmployee. Set the Instancing property of your CEmployee to PublicNotCreatable. Add another class, CConstructor to the project, and set the Instancing property to GlobalMultiUse. In CConstructor, create a new function:
 
Public Function CreateNewCEmployee(Param1,Param2,Paramx) As CEmployee.
  Set CreateNewCEmployee = New CEmployee
  With CreateNewCEmployee
    .Property1 = Param1
    .Property2 = Param2
    .Propertyx = Paramx
  End With
End Function

The only way clients can instantiate CEmployee, is by calling CreateNewCEmployee. Setting CConstructor's Instancing to GlobalMultiUse allows you to call its functions as if they were in a module (VB autoinstantiates Cconstructor when calling CreateNewCEmployee).

Note: Don't go this way if you plan to use the class in MTS or COM+. VB performs an internal creation of the COM object bypassing the MTS runtime.
Kristensen Ole
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap