Browse DevX
Sign up for e-mail newsletters from DevX

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



Building the Right Environment to Support AI, Machine Learning and Deep Learning

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.



Thanks for your registration, follow us on our social networks to keep up-to-date