Page 2 of 2

Re: Exit Error : 13.04 OLE

Posted: Fri May 17, 2013 8:53 pm
by TimStone
Antonio,

Still there. Its puzzling ! This had been rock solid for the past few years with xHarbour and suddenly I'm running into a problem ....

Tim

Re: Exit Error : 13.04 OLE

Posted: Fri May 17, 2013 8:56 pm
by lucasdebeltran
Timm,

Why don´t you please build a self-contained example?. That´s the way Antonio can reproduce the problem.

Best regards

Re: Exit Error : 13.04 OLE

Posted: Fri May 17, 2013 9:13 pm
by Antonio Linares
Tim,

I have searched in all Harbour libraries for the error that you described:

The exact error is: Destructors Disabled : Destructor of class 'TOLEAUTO' can't be executed


and it does not exist inside the Harbour libs neither in all Harbour sources.

But it exists in xHarbour libs. So I think you are using the wrong Harbour libraries to build your EXE

Re: Exit Error : 13.04 OLE

Posted: Fri May 17, 2013 9:51 pm
by TimStone
Antonio,

This is occurring with my xHarbour build ...

I'm looking at another possibility right now ...

Tim

Re: Exit Error : 13.04 OLE

Posted: Fri May 17, 2013 9:57 pm
by TimStone
OK ...

In May of last year you gave me a file to include in my xHarbour.com builds. It was FIVEACTX.prg

Here is its content:

Code: Select all | Expand


function OleInvoke( hObj, cMethod, uParam )

    #ifndef __XHARBOUR__
       return __ObjSendMsg( TOleAuto():New( hObj ), cMethod, uParam )
    #else  
       local aParams := hb_aParams()
       aParams[ 1 ] = TOleAuto():New( hObj )
       return hb_execFromArray( @__ObjSendMsg(), aParams )  
    #endif

return NIL

function OleSetProperty( hObj, cPropName, uValue )
return __ObjSendMsg( TOleAuto():New( hObj ), "_" + cPropName, uValue )


function OleGetProperty( hObj, cPropName )
return __ObjSendMsg( TOleAuto():New( hObj ), cPropName )
 
 


Could this be related ?

Tim

Re: Exit Error : 13.04 OLE

Posted: Fri May 17, 2013 10:04 pm
by Antonio Linares
Tim,

Are you using QUIT in any place in your app ?

If so, please remove it

Re: Exit Error : 13.04 OLE

Posted: Fri May 17, 2013 10:09 pm
by Antonio Linares
Tim,

Please modify my code this way:

Code: Select all | Expand


function OleInvoke( hObj, cMethod, uParam )

    #ifndef __XHARBOUR__
       return __ObjSendMsg( TOleAuto():New( hObj ), cMethod, uParam )
    #else  
       local aParams := hb_aParams()
       local u
       aParams[ 1 ] = TOleAuto():New( hObj )
       u = hb_execFromArray( @__ObjSendMsg(), aParams )
       aParams[ 1 ] = nil
       return u  
    #endif

return NIL

function OleSetProperty( hObj, cPropName, uValue )

   local o := TOleAuto():New( hObj )
   local u := __ObjSendMsg( o, "_" + cPropName, uValue )

   o = nil

return u


function OleGetProperty( hObj, cPropName )
   local o := TOleAuto():New( hObj )
   local u := __ObjSendMsg( o, cPropName )

   o = nil

return u
 
 

Re: Exit Error : 13.04 OLE

Posted: Fri May 17, 2013 10:47 pm
by TimStone
Antonio,

I've done all of that and I've gone through and removed several programs and a couple of libraries. All of this has so far been unsuccessful.

I'm now going to build a standalone program. I actually have one but it has some issues so I need to update it. This way I can see if perhaps I have another library that I'm using which may be contributing to the problem.

I'll post the results tomorrow after I have it running.

Thanks for all the suggestions. I would really love to just use the MSVC version but there are still issues I have to check and resolve.

Tim

Re: Exit Error : 13.04 OLE

Posted: Sat May 18, 2013 5:21 pm
by Richard Chidiak
Tim

I am puzzled why you need to use all these functions for OLE

I do not use any of these and the last problem got fixed today by including

function hb_gcall()
return nil

to release properly the ole objects used, in the method endplan you should add :

::oCalexStdDlgs := nil
::oGlbSettings := nil

Hth

Richard

Re: Exit Error : 13.04 OLE

Posted: Sat May 18, 2013 6:18 pm
by Antonio Linares
Richard,

The above function was just to confirm where the GPF comes from. It is crashing on hb_gcAll() and that is weird as hb_gcAll() invokes the garbage collector. In other words: it is not crashing as we have located where it crashes but we have not fixed it yet.

And what is very strange, hb_gcAll() has conflict (somehow) with GdiPlus:
0x746C0000 0x00190000 C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7600.16385_none_72fc7cbf861225ca\GdiPlus.dll
Called from HB_GCALL(0)
Called from TDIALOG:END(513) in .\source\classes\DIALOG.PRG

Re: Exit Error : 13.04 OLE

Posted: Sat May 18, 2013 6:24 pm
by Antonio Linares
And the problem ocurrs when the CodeJock ActiveX is used. Still not know why it happens, and again I repeat the same: we don't have the source code for the ActiveX so when errors like this happen, it is not easy to fix it. We just can modify our code until it does not fail.

Re: Exit Error : 13.04 OLE

Posted: Sun May 19, 2013 9:05 am
by Antonio Linares
Thinking about it, we could build Harbour with HB_FM_STD_ALLOC and see if that makes a difference. It did it on WinRT.