Shamil Salakhetdinov
shamil at smsconsulting.spb.ru
Fri Jun 6 03:55:25 CDT 2003
Bob,
You can set your class module's Instancing property to '2-PublicNotCreatable' then you can continue to use it the way you used it without library - you will just need to get its instance by your wrapped/helper function GetclsInventory...
HTH,
Shamil
----- Original Message -----
From: Bob Bedell
To: accessD at databaseadvisors.com
Sent: Friday, June 06, 2003 10:21 AM
Subject: [AccessD] Where does WithEvents go?
I hope I can make this intelligible. Info on this issue seems a bit sparse. I have a custom class and a form that work fine together. The class declares a custom event using Public Event syntax in the general declaration and Raise syntax in a method. The calling class (the form) declares a private instance of the class using WithEvents and instantiates it. No problems.
Now I'm trying to import the class into a library (mda.) and set a reference to it in the database that contains the calling form. It's my understanding that my calling application can't instantiate the class directly, and needs to use a wrapper function. So I added a standard module to the calling application that calls a function in the library database which returns a copy of the object. The calling database then has a public, shared copy of the object to work with. The standard module in the calling database is:
Public g_oInventory As clsInventory
Public Sub Startup()
' Get handles to shared objects
Set g_objInventory = GetclsInventory
DoCmd.OpenForm "frmInventory"
End Sub
The standard module in the library database (where the class is located) is:
Public Function GetclsInventory()
Dim objInventory As clsInventory
Set GetclsInventory = New clsInventory
End Function
Here's my problem. Using the library scenario, I can't find any place to put my WithEvents statement. The old declaration (before seperating the class and the form) was in the forms general declaration:
Private WithEvents m_objProduct As clsInventory
But now (library scenario) the declaration needs to be global, needs to include WithEvents, and needs to be in a class or form module (WithEvents won't work in a standard module).
Should I do a VB ActiveX component instead? I'm kinda' at a loss here. Real limited experience with classes/libraries stuff. Thanks to anyone who can make heads or tails of that.
Bob
------------------------------------------------------------------------------
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://databaseadvisors.com/pipermail/accessd/attachments/20030606/222d7c74/attachment-0001.html>