Franček Prijatelj wrote:
>
> When closing Project properties dialog error occurs:
>
> Application Internal Error - C:\RAZVOJ\HARBOUR\WRK\APP\Qt\hbide\hbide.exe
> Terminated at: 2010.02.16 10:42:27
> Unrecoverable error 6005: Exception error:
>
> Called from HBQTUI:DESTROY(0) in ../../../THbQtUI.prg
> Called from IDEPROJMANAGER:FETCHPROPERTIES(649) in ideprojmanager.prg
>
With MSVC I get this error all the time. After deep investigations
I am of this view that destructors in MSVC are implemented in different
way than in MinGW. I could not find a proper solution without ugly hacks.
Hack #1
======
METHOD HbQtUI:destroy()
LOCAL a_
::oWidget:hide()
FOR EACH a_ IN ::aSignals
Qt_Slots_disConnect( ::pSlots, a_[ 1 ], a_[ 2 ] )
NEXT
FOR EACH a_ IN ::aEvents
Qt_Events_disConnect( ::pEvents, a_[ 1 ], a_[ 2 ] )
NEXT
#if 0
FOR EACH qObj IN ::qObj DESCEND
IF qObj:__enumIndex() > 1
hbide_dbg( "HbQtUI:destroy()", 1, a_[ 1 ], a_[ 2 ] )
qObj := NIL
ENDIF
NEXT
#endif
FOR EACH a_ IN ::widgets DESCEND
IF a_:__enumIndex() > 1
IF type( a_[ 3 ] ) == "UI" .AND. ;
!( "Layout" $ a_[ 1 ] ) .AND. ;
! a_[ 2 ] == "tabGeneral" .AND. ;
! a_[ 1 ] $ "QSizePolicy,QTabWidget"
::qObj[ a_[ 2 ] ] := NIL
ENDIF
ENDIF
NEXT
::oWidget:close()
::oWidget := NIL
::aEvents := NIL
::aSignals := NIL
RETURN NIL
/*----------------------------------------------------------------------*/
Apply above patch in HbQtUI.prg and the error will go.
But I could never figure-out why these widgets cannot be destroyed
the normal way. MinGW does it cleanly. Anybody to help?
-----
enjoy hbIDEing...
Pritpal Bedi
_a_student_of_software_analysis_&_design_
--
View this message in context:
http://n2.nabble.com/hbide-runtime-error-tp4579392p4580230.html
Sent from the harbour-devel mailing list archive at Nabble.com.
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour