User Rating: 3 / 5

Star ActiveStar ActiveStar ActiveStar InactiveStar Inactive

Normally when you use OLEObject to connect to an ActiveX control and encounter an error, you will get the generic run time error ‘R0035 – Application terminated. Error calling external object function xxx’.


I have run across a very simple way to capture the actual error code and message generated by the ActiveX control.


First, create a new Standard Class object and select oleobject for the type.


Next add the following instance variables:


ULong ErrorCode

String ErrorText


Then add this code to the externalexception event:


ErrorCode = ResultCode

ErrorText = Description


Finally save the object as n_oleobject.


In your script that calls the ActiveX control functions you will do the following:


n_OLEObject oleTheObj

Integer li_rc


oleTheObj = Create n_OLEObject

li_rc = oleTheObj.ConnectToNewObject(“TheObject.Name”)

If li_rc = 0 Then



   catch ( RuntimeError rte )

      PopulateError(oleTheObj.ErrorCode, oleTheObj.ErrorText)

      MessageBox(“OLE Runtime Error #” + &

            String(Error.Number), Error.Text, StopSign!)



   end try



   MessageBox(“OLE Connect Error #” + String(li_rc), &

         “Connect To Object Failed!”, StopSign!)

End If


You’ll notice that in the catch section I used PopulateError to get the instance variables with the error information. I did this so I would also have the objectname/scriptname/linenumber for error logging if this were a real application.

Comments (0)

There are no comments posted here yet