IE not supported in COMCONTROL.

Started by troncy, October 06, 2015, 06:31:07 AM

Previous topic - Next topic

troncy

Bonjour,
In the following example "Using Windows Explorer Shell in a Dialog Com Control" provide by Winbatch url: http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/tsleft.web+WinBatch/Dialog~Editor/Dialog~Editor~version~6.X/COMCONTROL+Using~Windows~Explorer~Shell~in~a~Dialog~Com~Control.txt when I change the url by http://www.bbc.co.uk/newsbeat/article/34442956/thousands-of-nasa-apollo-mission-photos-uploaded-online the site tell me that my version of IE is not supported.

#DefineSubRoutine InitDialogConstants()
   ;DialogprocOptions Constants
   MSG_INIT=0                ; The one-time initialization
   MSG_TIMER=1               ; Timer event
   MSG_BUTTONPUSHED=2        ; Pushbutton or Picturebutton
   MSG_RADIOPUSHED=3         ; Radiobutton clicked
   MSG_CHECKBOX=4            ; Checkbox clicked
   MSG_EDITBOX=5             ; Editbox or Multilinebox
   MSG_FILESELECT=6          ; Filelistbox
   MSG_ITEMSELECT=7          ; Itembox
   MSG_COMBOCHANGE=8         ; Combobox/Droplistbox
   MSG_CALENDAR=9            ; Calendar date change
   MSG_SPINNER=10            ; Spinner number change
   MSG_CLOSEVIA49=11         ; Close clicked (Enabled via DialogProcOptions 1002
   MSG_FILEBOXDOUBLECLICK=12 ; Get double-click message on a FileListBox
   MSG_ITEMBOXDOUBLECLICK=13 ; Get double-click message on an ItemBox
   MSG_COMEVENT=14           ; COMCONTROL Event notification from DialogObject (NOT DialogProcOptions)

   DPO_DISABLESTATE=1000     ; codes -1=GetSetting 0=EnableDialog 1=DisableDialog
   DPO_CHANGEBACKGROUND=1001 ; -1=Get Current otherise bitmap or color string
   DPO_CHANGESYSMENU=1002    ; -1=Get Current 0=none 1=close 2=close/min 3=close/max 4=close/min/max
   DPO_CHANGETITLE=1003      ; Set/Get Dialog Title - (-1 to get)

   ;DialogControlState Constants
   DCSTATE_SETFOCUS=1        ; Give Control Focus
   DCSTATE_QUERYSTYLE=2      ; Query control's style
   DCSTATE_ADDSTYLE=3        ; Add control style
   DCSTATE_REMOVESTYLE=4     ; Remove control style
   DCSTATE_GETFOCUS=5        ; Get control that has focus
   DCSTATE_MOVEMOUSEOVER=6   ; Move the mouse over the control

   DCSTYLE_INVISIBLE=1       ; Set Control Invisible
   DCSTYLE_DISABLED=2        ; Set Control Disabled
   DCSTYLE_NOUSERDATA=4      ; Note: Setable via DialogControlState function ONLY SPINNER control only
   DCSTYLE_READONLY=8        ; Sets control to read-only (user cannot type in data) EDITBOX MULTILINEBOX SPINNER
   DCSTYLE_PASSWORD=16       ; Sets 'password mode' where only *'s are displayed EDITBOX
   DCSTYLE_DEFAULTBUTTON=32  ; Sets a button as the default button PUSHBUTTON PICTUREBUTTON
   DCSTYLE_DIGITSONLY=64     ; Set edit box to accept digits only EDITMOX MULTILINEBOX
   DCSTYLE_FLAT=128          ; Makes a 'flat' hyperlink-looking button PUSHBUTTON PICTUREBUTTON
   DCSTYLE_NOADJUST=256      ; Turns off auto-height adjustment  ITEMBOX FILELISTBOX
   DCSTYLE_TEXTCENTER=512    ; Center text in control VARYTEXT STATICTEXT
   DCSTYLE_TEXTRIGHT=1024    ; Flush-Right text in control VARYTEXT STATICTEXT
   DCSTYLE_NOSELCURLEFT=2048 ; No selection, cursor left EDITBOX MULTILINEBOX
   DCSTYLE_NOSELCURRIGHT=4096; No selection, cursor right EDITBOX MULTILINEBOX

   ;DialogControlSet / DialogControlGet Constants
   DC_CHECKBOX=1             ; CHECKBOX
   DC_RADIOBUTTON=2          ; RADIOBUTTON
   DC_EDITBOX=3              ; EDITBOX MULTILINEBOX
   DC_TITLE=4                ; PICTURE RADIOBUTTON CHECKBOX PICTUREBUTTON VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON
   DC_ITEMBOXCONTENTS=5      ; ITEMBOX FILELISTBOX DROPLISTBOX
   DC_ITEMBOXSELECT=6        ; ITEMBOX FILELISTBOX DROPLISTBOX
   DC_CALENDAR=7             ; CALENDAR
   DC_SPINNER=8              ; SPINNER
   DC_MULTITABSTOPS=9        ; MULTILINEBOX
   DC_ITEMSCROLLPOS=10       ; ITEMBOX FILELISTBOX
   DC_BACKGROUNDCOLOR=11     ; RADIOBUTTON CHECKBOX VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON ITEMBOX FILELISTBOX DROPLISTBOX SPINNER EDITBOX MULTILINEBOX
   DC_PICTUREBITMAP=12       ; PICTURE PICTUREBUTTON
   DC_TEXTCOLOR=13           ; RADIOBUTTON CHECKBOX VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON ITEMBOX FIELLISTBOX DROPLISTBOX SPINNER EDITBOX MULTILINEBOX
   DC_ITEMBOXADD=14          ; ITEMBOX FILELISTBOX DROPLISTBOX
   DC_ITEMBOXREMOVE=15       ; ITEMBOX FILELISTBOX DROPLISTBOX
   DC_RADIOVALUE=16          ; RADIOBUTTON


   ;DialogObject constants
   DLGOBJECT_ADDEVENT=1      ; Call dialog callback when the specified event occurs
   DLGOBJECT_STOPEVENT=2     ; Stop calling dialog callback when an event previously requested with
   DLGOBJECT_GETOBJECT=3     ; Return an object references to the specified control
   DLGOBJECT_GETPICTURE=4    ; Create and return an object reference to a picture object

   ;Return code constants
   RET_DO_CANCEL=0           ; Cancels dialog
   RET_DO_DEFAULT= -1        ; Continue with default processing for control
   RET_DO_NOT_EXIT= -2       ; Do not exit the dialog
   return
#EndSubroutine
;============================================================
;============================================================
;============================================================




#DefineSubRoutine ExamCallbackProc(Exam_Handle,Exam_Message,Exam_ID,Exam_EventInfo,rsvd)
   InitDialogConstants()                                    ; Initialize Dialog Constants
   switch Exam_Message                                      ; Switch based on Dialog Message type
      case MSG_INIT                                         ; Standard Initialization message
;         DialogProcOptions(Exam_Handle,MSG_TIMER,1000)
         DialogProcOptions(Exam_Handle,MSG_BUTTONPUSHED,@TRUE)
;         DialogObject(Exam_Handle,001,DLGOBJECT_ADDEVENT,"ComEventName",1000)


         return(RET_DO_DEFAULT)

     case MSG_BUTTONPUSHED
        switch Exam_ID
           case 002                                        ; ID 002  OK
oShell = DialogObject(Exam_Handle,1,3) ;creates our variable
;reference: http://msdn.microsoft.com/en-us/library/bb774049(VS.85).aspx
objFolderItem  = oShell.Document.FocusedItem
selectedfile = objFolderItem.Name
;Message("User Selected", selectedfile )
             return(RET_DO_DEFAULT)

           case 003                                        ; ID 003  Cancel
              return(RET_DO_CANCEL)

       endswitch                                          ; Exam_ID
        return(RET_DO_DEFAULT)

   endswitch                                                ; Exam_Message
   return(RET_DO_DEFAULT)
#EndSubRoutine                                                ; End of Dialog Callback ExamCallbackProc

;============================================================
;============================================================
;============================================================



ExamFormat=`WWWDLGED,6.1`

ExamCaption=`AskItemList Example`
ExamX=150
ExamY=058
ExamWidth=200
ExamHeight=177
ExamNumControls=003
ExamProcedure=`ExamCallbackProc`
ExamFont=`DEFAULT`
ExamTextColor=`DEFAULT`
ExamBackground=`DEFAULT,DEFAULT`
ExamConfig=0

Exam001=`009,003,178,144,COMCONTROL,DEFAULT,"http://www.bbc.co.uk/newsbeat/article/34442956/thousands-of-nasa-apollo-mission-photos-uploaded-online",DEFAULT,1,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
Exam002=`021,153,060,012,PUSHBUTTON,DEFAULT,"OK",1,2,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
Exam003=`107,153,058,012,PUSHBUTTON,DEFAULT,"Cancel",2,3,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
Dialog("Exam")

Exit


Could it be a problem with my old winbatch (2011A)
Thanks

Best regards
Claude

td

It has absolutely nothing t do with your version of WinBatch but does have something to do with the user agent information the system's IE WebBrowser object is sending to the site.  The site's metadata may be triggering an IE compatibility mode which in turn causes IE to send agent info that the site does not accept or your version of IE may simply be too old.

Here is a link to a discussion of user-agent strings in IE:

https://msdn.microsoft.com/en-us/library/ms537503%28v=vs.85%29.aspx
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

JTaylor


td

Yes, good point.  Several users have been successful using a value in the FEATURE_BROWSER_EMULATION  registry key to correct this issue.
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

troncy

Thanks a lot for your answers.

I added "winbatch.exe" in FEATURE_BROWSER_EMULATION key and once compiled also added the name of my exec.
And it works now.

So it is necessary to add each exec in the FEATURE_BROWSER_EMULATION key, may be there is a way to modify the default value ?

Best regards
Claude

JTaylor

I am not aware of a way to set a default.   You may want to place code at the top of your scripts which checks for the value and sets it if it isn't there or create a function to do the job if you have a common set of functions that is available to all your scripts.

Jim

td

Using WinBatch registry function at the beginning of the script seems very reasonable.  It might be best to check and modify the  @REGCURRENT version of the key instead of the @REGMACHINE  to avoid key modification permission issues.  It is also important to use the registry view setting that matches the bitness of the running script.
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade