[AccessD] Where does WithEvents go?

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>


More information about the AccessD mailing list