ole calls

jiang_cpsc_at_hotmail.com
Date: 03/24/05


Date: 24 Mar 2005 09:46:16 -0800

I am trying to do some ole calls:
the automation server(written in C++) has this public interface:
int addwellbyuwi([in] BSTR UWI, [out] long* WID);
So in LISP:

(ole:start-ole)
(setf wid -1)
(setq 3rd_app
      (ole:ask-for-autotool "TApp.App"
       ole:CLSCTX_LOCAL_SERVER) )
(setq 3rd_inst
      (make-instance 'ole:remote-autotool
                     :dispatch
                     (ole:auto-getf 3rd_app :app) ))
(ole:auto-method 3rd_inst
                 "addwellbyuwi"
                  "100/07-01-011-16W4/00"
                  wid )

wid is a local variable, auto-method is running fine, and it returns
sucessfully.
But the problem is that wid value doesn't have the correct value in it.

So I am just wondering maybe wid should be a different data type, or
the calling syntax should be different?
how could I make it work?

thanks in advance.