Jump to content

ActiveX events broken


Heron
 Share

Recommended Posts

Hi AutoIt nerds,

who can help me out with this issue? It is driving me nuts.

I found a great activeX control, MSTgrid, that is much easier for me than listview with all the options I need. However there's a strange thing going on. I have bound to the control to receive its events and it does so as expected BUT... the precise moment I enter a key when in the edit mode of a cell all of the events stop firing from then on. And it doesn't start again either when out of the edit mode.

The same control bound to VB or to Excel works as expected and gives events like KeyPressEdit and ChangeEdit and so on. I have no clue as why AutoIt behaves different.

Below a sample script and the free control to download (which has to be installed of course).

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=D:\nlrgo\My Documents\My AutoIt Scripts\SQList2\datagrid.kxf
$Form1 = GUICreate("Form1", 719, 451, 228, 124, BitOR($WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_SYSMENU,$WS_CAPTION,$WS_CLIPCHILDREN,$WS_BORDER,$WS_CLIPSIBLINGS))
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1_Close")
$Obj1 = ObjCreate("MstGrid.grdView")
$Obj1_ctrl = GUICtrlCreateObj($Obj1, 10, 10, 500, 300)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$Event = ObjEvent($Obj1, "MSTEvent_")
$oMyError = ObjEvent("AutoIt.Error","MyErrFunc")
Func MSTEvent_($ev)
ConsoleWrite("Event: " & $ev & @CRLF)
EndFunc
Func Form1_Close()
Exit
EndFunc
Func MyErrFunc()
  Msgbox(0,"AutoItCOM Test","We intercepted a COM Error !"    & @CRLF  & @CRLF & _
             "err.description is: " & @TAB & $oMyError.description  & @CRLF & _
             "err.windescription:"   & @TAB & $oMyError.windescription & @CRLF & _
             "err.number is: "       & @TAB & hex($oMyError.number,8)  & @CRLF & _
             "err.lastdllerror is: "   & @TAB & $oMyError.lastdllerror   & @CRLF & _
             "err.scriptline is: "   & @TAB & $oMyError.scriptline   & @CRLF & _
             "err.source is: "       & @TAB & $oMyError.source       & @CRLF & _
             "err.helpfile is: "       & @TAB & $oMyError.helpfile     & @CRLF & _
             "err.helpcontext is: " & @TAB & $oMyError.helpcontext _
            )
EndFunc
While True
Sleep(100)
WEnd

It seems that I cannot attache the control but you can download it from everywhere.

Thanks!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...