If you want to disable timeout, try run these lines when your application
starts,

NB. re-initialise to avoid server busy
  'ole32 OleUninitialize n'&(15!:0) ''
  'ole32 OleInitialize i x'&(15!:0) <0

the server busy dialog will then never popup.

Вск, 08 Май 2011, Devon McCormick писал(а):
> Never mind about the "438" error - it was from the command
> "Application.OLERequestPendingTimeout=0" in my macro which was an attempt to
> avoid a dialog box telling me that the application isn't responding when the
> macro takes too long to run.  Stephen Taylor seems to indicate you can
> ignore this dialog and it will go away when the macro completes - we'll see.
> 
> On Sun, May 8, 2011 at 12:17 AM, Devon McCormick <[email protected]> wrote:
> 
> > It's been very frustrating to attempt to replace 2,000 lines of C++ code
> > with my 100 lines of J when I can hardly get the OLE interface to run the
> > same way twice in a row.  It's tantalizing because it seems to have actually
> > worked once or twice in the dozens of times I've tried it.  However, most of
> > the time I get errors like this when I attempt to run a macro:
> >
> > |domain error: wd
> > |       xlcmd'base run clear_pool'
> >    wd 'qer'
> > ole - Can't move focus to the control because it is invisible, not enabled,
> > or of a type that does not accept the focus. : 12
> >
> > Making the spreadsheet visible just changes the error to a "Run time error
> > '438'", which, according to what I see on the web:
> >
> > Run Time Error 438 - Object Doesn't Support this Property or Method
> > The most common cause of error 438 is not maintaining binary 
> > compatibility<http://www.vbforums.com/showthread.php?t=460591#>between 
> > successive versions of your components. Each COM interface has an
> > associated GUID that is called an interface ID (IID). Each coclass has an
> > associated GUID that is called class ID (CLSID). When you compile an ActiveX
> > component in Visual Basic, the CLSIDs and IIDs are compiled into the
> > component's type library.
> >
> > Example:
> > A program that consists of a Visual Basic client and an ActiveX DLL is
> > released to the user community. At a later time, additional functionality is
> > to be added to the DLL component. The necessary modifications are made, and
> > the ActiveX DLL is compiled without maintaining binary compatibility. When
> > the DLL is released, the client that is trying to use the DLL will throw run
> > time error 438. The reason this occurs is that when the DLL was compiled, a
> > fresh set of GUIDs was compiled into the DLL, and the client has no
> > reference to these new GUIDs. This is why it is important to maintain binary
> > compatibility with the last-released version of the component when you are
> > trying to release a newer version.
> >
> > None of which seems like anything I can do anything about from J.
> >
> > Has anyone ever used this to run any non-trivial code in Excel from J?  I'm
> > starting to look at alternatives to J because I just can't make this work
> > and the error messages are unhelpful and opaque.
> >
> > Any ideas would be appreciated,
> >
> > Devon
> >
> >
> > --
> > Devon McCormick, CFA
> > ^me^ at acm.
> > org is my
> > preferred e-mail
> >
> >
> 
> 
> -- 
> Devon McCormick, CFA
> ^me^ at acm.
> org is my
> preferred e-mail
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

-- 
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to