Win32 OLE event sink & Quit

Hi,

I’m trying to setup a win32 ole callback that would notify me that the
application that was launched has quit, in order to release the process
from memory.

The code I’m playing with looks like:

  @@access = WIN32OLE.new('Access.Application')
  @@access.OpenCurrentDatabase(@database)

  begin

    @@event_sink = WIN32OLE_EVENT.new(@@access, <???>)
    stop_listening = false
    @@event_sink.on_event("Quit") do |*args|
      puts "Access application has quit!"
      stop_listening = true
    end

    WIN32OLE_EVENT.message_loop until stop_listening

  rescue Exception => e
    puts e.message
  end

I cannot find any event interface that would notify me that the MS
Access application has quit. I checked with “Simple OLE Browser”, but no
luck. And most examples regarding WIN32OLE_EVENT are done with Internet
Explorer.

Does anyone have an idea?

Thanks,

Philippe L.

On Mon, Apr 21, 2008 at 12:28 PM, Philippe L.
[email protected] wrote:

Thanks,

Philippe L.

WMI Events? Here’s a VBScript example that will notify when a process
terminates.

http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx?mfr=true

On a side note, this is my third WMI related post in two days. I hope
I’m not annoying anyone :wink:

hth,

Gordon

Gordon T. wrote:

  @@access = WIN32OLE.new('Access.Application')

http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx?mfr=t
rue

Hi,

In fact, I’d like to get notified when the MS Access database quits
because as long as there is a WIN32OLE object pointing at it, the
process does not terminate. So I’m afraid this WMI script (the link does
not work by the way) won’t help here!

Philippe

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs