i can create a ACTIVEX ... even when PROGID does not exist
this Sample, using Windows Media Player, should work while it is default in Windows OS
when change PROGID it should fail ... but how to "identify Error" (ACTIVEX does not exist)
Code: Select all
#include "hmg.ch"
MEMVAR _HMG_SYSDATA
PROCEDURE Main()
DEFINE WINDOW Form_1 ;
AT 0, 0 ;
WIDTH 800 ;
HEIGHT 600 ;
TITLE "Test ActiveX " ;
ON INIT INIT_WMP() ;
MAIN
DEFINE ACTIVEX oxWMP
PARENT Form_1
ROW 0
COL 0
WIDTH 800
HEIGHT 600
PROGID "WMPlayer.OCX.7" // this PROGID work ... change it to "DUMMY.OCX"
END ACTIVEX
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
RETURN
Code: Select all
PROCEDURE INIT_WMP()
LOCAL oWMP
oWMP := GetProperty("Form_1","oxWMP")
msgdebug("Type "+ VALTYPE(oWMP)) // -> "U"
oWMP := Form_1.oxWMP.OBJECT
msgdebug("Type "+ VALTYPE(oWMP)) // -> "O"
msgdebug("Version " + oWMP:versionInfo) // will crash if wrong PROGID
RETURN