Bob Bedell
bobbedell15 at msn.com
Fri Jun 6 01:21:40 CDT 2003
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://databaseadvisors.com/pipermail/accessd/attachments/20030606/80e66c6f/attachment.html>