Many thank´s for the sample

Why me out of the application is returned a error GPF ?
It can post the example "c:\fwh\samples\webexp.prg" working with WIN_AxInit() / WIN_AxGetControlas() ?
toninhofwi wrote:This works:
_hInstance,
Toninho.
Sheng wrote:toninhofwi wrote:This works:
_hInstance,
Toninho.
You are lost "_hInstance" same as Harbour-mail-list.
Code: Select all | Expand
#include "winapi.ch" local oWindow, oActiveX DEFINE WINDOW oWindow FROM 0,0 to 400,300 TITLE "Flash Player" WIN_AxInit() oActiveX = WIN_AxGetControl( WApi_CreateWindowEX( 0, "AtlAxWin", "ShockwaveFlash.ShockwaveFlash.1", nOR( WS_CHILD, WS_VISIBLE ), 0, 0, 200, 200, win_N2P( oWindow:hWnd ), 0 ), nil ) ACTIVATE WINDOW oWindow ON INIT oActiveX : LoadMovie( 0, "c:\flash.swf" )
No, it is a "working in progress", now Harbour have fully support for it and the GPF was fixed.
Code: Select all | Expand
#include "FiveWin.ch"function Main() local oWnd, oActiveX local cEvents := "" DEFINE WINDOW oWnd TITLE "FiveWin ActiveX Support" oActiveX = TActiveX():New( oWnd, "Shell.Explorer" ) oWnd:oClient = oActiveX // To fill the entire window surface oActiveX:Do( "Navigate", "http://www.google.com.br" ) oActiveX:SetProp( "StatusBar", .t. ) // MsgInfo( oActiveX:GetProp( "StatusBar" ) ) oActiveX:bOnEvent = { | event, aParams, pParams | cEvents += EventInfo( event, aParams, pParams, oActiveX ) } ACTIVATE WINDOW oWnd ; VALID ( MemoEdit( cEvents ), .t. ) return nilfunction EventInfo( event, aParams, pParams, oActiveX ) local cMsg := "Event: " + cValToChar( event ) + CRLF local n cMsg += "Params: " + CRLF for n = 1 to Len( aParams ) cMsg += cValToChar( aParams[ n ] ) + CRLF next if event == "BeforeNavigate2" // MsgInfo( aParams[ 2 ] ) // SetEventParam( pParams, 7, .t. ) // Comment this to allow navigation endifreturn cMsg + CRLF
Antonio Linares wrote:Are ActiveX events working on the Harbour new build ?
Code: Select all | Expand
#include "winapi.ch" local oWindow, oActiveX DEFINE WINDOW oWindow FROM 0,0 to 400,300 TITLE "Google" WIN_AxInit() oActiveX = WIN_AxGetControl( WApi_CreateWindowEX( 0, "AtlAxWin", "Shell.Explorer", nOR( WS_CHILD, WS_VISIBLE ), 0, 0, 200, 200, win_N2P( oWindow:hWnd ), 0 ), @LogFunc() ) ACTIVATE WINDOW oWindow ON INIT oActiveX:Navigate( "http://www.google.com" )
Code: Select all | Expand
static procedure LogFunc( ... ) local aParam := {...} AEval( aParam, { |x,y| IIf( ValType( x ) == "O", aParam[ y ] := "O:" + x:ClassName, nil ) } ) LogToFile( Time() + " " + HB_VALTOEXP( aParam ) )return
Yes it have, and I confirm it with Mindaugas, pleaser look:
#include "fivewin.ch"
function MAIN
local oWindow, oActiveX
DEFINE WINDOW oWindow FROM 0,0 to 400,300 TITLE "Google"
WIN_AxInit()
oActiveX = WIN_AxGetControl( WApi_CreateWindowEX( 0, "AtlAxWin", "Shell.Explorer", nOR( WS_CHILD, WS_VISIBLE ), 0, 0, 200, 200, win_N2P( oWindow:hWnd ), 0 ), @LogFunc() )
ACTIVATE WINDOW oWindow ON INIT oActiveX:Navigate( "http://www.google.com" )
return NIL
static procedure LogFunc( ... )
local aParam := {...}
AEval( aParam, { |x,y| IIf( ValType( x ) == "O", aParam[ y ] := "O:" + x:ClassName, nil ) } )
msgstop( Time() + " " + HB_VALTOEXP( aParam ) )
* LogToFile( Time() + " " + HB_VALTOEXP( aParam ) )
return
Application Internal Error - C:\test\CODEJ.exe
Terminated at: 2009.06.17 16:35:38
Unrecoverable error 6005: Exception error:
Exception Code:C0000027
Exception Address:7C80DEAC
EAX:00000000 EBX:00000000 ECX:00000000 EDX:00000000
ESI:00000000 EDI:00000000 EBP:0012DC58
CS:EIP:001B:7C80DEAC SS:ESP:0023:0012DC48
DS:0023 ES:3B0023 FS:003B GS:0000
Flags:00000202
CS:EIP: 5D 5F 5E 5B 8B E5 5D C3 8B 4C 24 04 F7 41 04 06
SS:ESP: 0012DC58 7C816FF0 00000000 0012FFE0 0012DC7C 7C839B65 0012FFE0 0012DC7C 00000000 00000000 00000000 0012DD68 0012DD80 0012DCA0 7C9032A8 0012DD68
C stack:
EIP: EBP: Frame: OldEBP, RetAddr, Params...
7C80DEAC 0012DC58 0012DC7C 7C839B65 0012FFE0 0012DC7C 00000000 00000000 00000000 0012DD68 0012DD80
7C839B65 0012DC7C 0012DCA0 7C9032A8 0012DD68 0012FFE0 0012DD80 0012DD3C 0012E184 7C9032BC 0012FFE0
7C9032A8 0012DCA0 0012DD50 7C90327A 0012DD68 0012FFE0 0012DD80 0012DD3C 7C839AF0 00000001 0012DD68 0012FFE0
7C90327A 0012DD50 0012E058 7C90E48A 00000000 0012DD80 0012DD68 0012DD80 C0000090 00000000 00000000 77C2FA29
7C90E48A 0012E058 0012E0F0 10110443 40000000 47C6D096 101104C1 7E3684B2 0012E0F0 0012E0F8 0012E0FC 0012E0F4
10110443 0012E0F0 0012E190 73D8DA0E 001D08DA 00000362 73D8DA1A 00000001 0012E410 73D8D9C7 0012E410 00000000
...
Modules:
Called from WAPI_CREATEWINDOWEX(0)
Called from MAIN(58) in CODEJ.prg
Code: Select all | Expand
#include "FiveWin.ch" #define xtpControlError 0#define xtpControlButton 1#define xtpControlPopup 2#define xtpControlButtonPopup 3#define xtpControlSplitButtonPopup 4#define xtpControlComboBox 5#define xtpControlEdit 6#define xtpControlCustom 7#define xtpControlLabel 8#define xtpControlCheckBox 9#define xtpControlGallery 10#define xtpControlRadioButton 11 #define xtpImageNormal 0#define xtpImageDisabled 1#define xtpImageHot 2#define xtpImageChecked 3#define xtpImagePressed 4 function Main() local oWnd, oAct local oRb local oQA, oQBtn1, oQBtn2, oQBtn3 local oSysButton, oControl, oPopupBar local oStatusBar, oToolTipContext, oIcons local oTabFiles, oGroup1 local oTabEdit, oGroup2 local oTabBuild local aButtons := {} local oButton1, oButton2, oButton3, oButton4 local oExitBtn, oExitBtn2 local oBmp1, oBmp2, oBmp3, obmp4, obmp5, obmp6, obmp7, obmp8, obmp9 local oAct2 DEFINE WINDOW oWnd TITLE "FWH Support Codejock ActiveX" WIN_AxInit() oBmp1 := TBitmap():Define( , "\fwh\bitmaps\16x16\new2.bmp", oWnd ) oBmp2 := TBitmap():Define( , "\fwh\bitmaps\16x16\open2.bmp", oWnd ) oBmp3 := TBitmap():Define( , "\fwh\bitmaps\alphabmp\explorer.bmp", oWnd ) oBmp4 := TBitmap():Define( , "\fwh\bitmaps\32x32\open.bmp", oWnd ) oBmp5 := TBitmap():Define( , "\fwh\bitmaps\32x32\people.bmp", oWnd ) oBmp6 := TBitmap():Define( , "\fwh\bitmaps\32x32\keys.bmp", oWnd ) oBmp7 := TBitmap():Define( , "\fwh\bitmaps\32x32\quit.bmp", oWnd ) oBmp8 := TBitmap():Define( , "\fwh\bitmaps\16x16\copy.bmp", oWnd ) oBmp9 := TBitmap():Define( , "\fwh\bitmaps\16x16\info.bmp", oWnd ) * oAct := TActiveX():New( oWnd, "Codejock.CommandBarsFrame.13.0.0", 0, 0, 0, 0 ) oAct := WIN_AxGetControl( WApi_CreateWindowEX( 0, "AtlAxWin", "Codejock.CommandBarsFrame.13.0.0", nOR( WS_CHILD, WS_VISIBLE ), 0, 0, 600, 500, win_N2P( oWnd:hWnd ), 0 ) ) oAct2 := CreateObject("Codejock.CommandbarsGlobalSettings.13.0.0") WiTH OBJECT oAct2 :License:= "CommandBars Control Copyright (c) " + ; "2003-2006 Codejock Software" +CRLF+ "PRODUCT-ID: " + ; "XCB-ESD-ACTX-9600" + CRLF + "VALIDATE-CODE: XXX-XXX-XXX-XXX" END WITH *oSettings := oAct2:GetProp( "GlobalSettings" ) MsgInfo( oAct2:License ) MsgInfo( oAct2:version) oAct:bOnEvent = { | cEvent, aParams, pParams | RibbonBarEvent( cEvent, aParams, pParams, aButtons, oWnd ) } oAct:Do( "AttachToWindow", oWnd:hWnd ) oAct:Do( "EnableOffice2007Frame", .T. ) oAct:Do( "VisualTheme", .T. ) // ToolTipContext - Richard oToolTipContext := TOleAuto():New( ActXPdisp( oAct:hActiveX ) ) oToolTipContext := oToolTipContext:ToolTipContext() oToolTipContext:Style = 5 && xtpToolTipOffice2007 oToolTipContext:ShowTitleAndDescription( .T., 0 ) oToolTipContext:ShowImage( .T., 0 ) oToolTipContext:SetMargin( 2, 2, 2, 2 ) oToolTipContext:MaxTipWidth = 180 // StatusBar-Richard oStatusBar := TOleAuto():New( ActXPdisp( oAct:hActiveX ) ) oStatusBar:StatusBar:Visible = .T. oStatusBar:StatusBar:AddPane( 0 ) oStatusBar:StatusBar:AddPane( 59137 ) oStatusBar:StatusBar:AddPane( 59138 ) oStatusBar:StatusBar:AddPane( 59139 ) oStatusBar:StatusBar:IdleText = "FWH support Codejock RibbonBar" oIcons := oAct:Do( "icons" ) oIcons:AddBitmap( oBmp1:hBitmap,1,xtpImageNormal,.f. ) oIcons:AddBitmap( oBmp2:hBitmap,2,xtpImageNormal,.f. ) oIcons:AddBitmap( oBmp3:hBitmap,3,xtpImageNormal,.t. ) // 4th param, Bool to Alpha Channel Support oIcons:AddBitmap( oBmp4:hBitmap,4,xtpImageNormal,.f. ) oIcons:AddBitmap( oBmp5:hBitmap,5,xtpImageNormal,.f. ) oIcons:AddBitmap( oBmp6:hBitmap,6,xtpImageNormal,.f. ) oIcons:AddBitmap( oBmp7:hBitmap,7,xtpImageNormal,.f. ) oIcons:AddBitmap( oBmp8:hBitmap,8,xtpImageNormal,.f. ) oIcons:AddBitmap( oBmp9:hBitmap,9,xtpImageNormal,.f. ) oIcons:LoadBitmap( "\fwh\bitmaps\32x32\edit.bmp",4, xtpImageNormal) //oAct:Hide() // RibbonBar - Richard oRb = oAct:Do( "AddRibbonBar", "Ribbon Bar" ) oRb:EnableDocking(64) oRb:EnableFrameTheme() oRb:ShowQuickAccessBelowRibbon(.F.) oRb:ShowCaptionAlways(.T.) oRb:ShowQuickAccess(.T.) oRb:ShowGripper() // QuickAccess - Richard oQA:= oRb:QuickAccessControls() oQBtn1 := oQA:Add( 1, 1, "&New" ) oQBtn2 := oQA:Add( 1, 2, "&Save" ) oQBtn3 := oQA:Add( 1, 8, "©" ) oQA:Add( 1, 9, "&info" ) // Add SysButton - Richard oSysButton := oRb:AddSystemButton() oSysButton:IconId( 5 ) oSysButton:CommandBar:Controls:Add( 1, 4, "&New" ) oSysbutton:CommandBar:Controls:Add( 1, 5, "&Open..." ) oSysbutton:CommandBar:Controls:Add( 1, 6, "&Save" ) oSysbutton:CommandBar:Controls:Add( 1, 6, "Save &As..." ) oControl := oSysButton:CommandBar:Controls:Add( 4, 5, "&Print") oControl:BeginGroup = .T. oPopupBar := TOleAuto():New( ActXPdisp( oAct:hActiveX ) ) oPopupBar := oPopupBar:CreateCommandBar("CXTPRibbonSystemPopupBarPage") oControl:CommandBar = oPopupBar oControl := oPopupBar:Controls:Add( 8, 0, "Preview and print the document") oControl:Width = 296 oControl:DefaultItem = .T. oControl:Style = 1 && xtpButtonCaption oPopupBar:DefaultButtonStyle = 5 && xtpButtonCaptionAndDescription oPopupBar:SetIconSize( 32, 32 ) oPopupBar:ShowGripper = .F. oPopupBar:Controls:Add( 1, 4, "Print Pre&view" ) oPrnSetup = oPopupBar:Controls:Add( 1, 5, "Pr&int Setup..." ) oPopupBar:Controls:Add( 1, 6, "Print Pre&view" ) oSysbutton:CommandBar:Controls:Add( 1, 1230, "Prepare" ) oSysbutton:CommandBar:Controls:Add( 1, 1235, "Send" ) oSysbutton:CommandBar:Controls:Add( 1, 1230, "Publish" ) oExitBtn2 = oSysbutton:CommandBar:Controls:Add( 1, 7, "Close" ) oSysbutton:CommandBar:SetIconSize( 32, 32 ) // RibbonBar Table - Richard oTabFiles = oRb:InsertTab( 0, "&Files" ) oTabFiles_Grp1 = oTabFiles:Groups:AddGroup("&Clipboard", 0) oTabFiles_Grp1:ShowOptionButton = .T. // TabFiles Group ToolTip - Richard oTabFiles_Grp1:ControlGroupOption:Id = 1000 oTabFiles_Grp1:ControlGroupOption:ToolTipText = "Clipboard" oTabFiles_Grp1:ControlGroupOption:DescriptionText = "Show clipboard dialog" oTabFiles_Grp1:ControlGroupOption:IconId(3) oPaste := oTabFiles_Grp1:Add( 4, 1, "&Paste") oPaste:CommandBar:Controls:Add( 1, 1, "&Paste" ) oPaste:CommandBar:Controls:Add( 1, 2, "&Paste Special" ) oButton1 = oTabFiles_Grp1:Add( xtpControlButton, 2, "&Cut" ) oButton2 = oTabFiles_Grp1:Add( xtpControlButton, 3, "&Copy" ) oBtn1 := oTabFiles_Grp1:Add( 1, 9, "Format") oBtn1:Enabled = .F. oBtn2 := oTabFiles_Grp1:Add( 1, 8, "Delete") oExitBtn := oTabFiles_Grp1:Add( xtpControlButton, 7, "Exit") oTabFiles_Grp2 := oTabFiles:Groups:AddGroup( "&Font", 1) oButton3 = oTabFiles_Grp2:Add( xtpControlButton, 4, NIL ) oButton4 = oTabfiles_Grp2:Add( xtpControlButton, 3, "" ) oButton4:SetIconSize( 64,64 ) oButton4:Width = 70 oButton4:Height = 70 oTabEdit = oRb:InsertTab( 1, "&Edit" ) oTabBuild = oRb:InsertTab( 2, "&Build" ) oTabBuild:Color = 5 oTable_Grp := oTabBuild:Groups:AddGroup( "&Show/Hide", 5025) oTable_Grp:Add( 9, 2807, "Ruler" ) oTable_Grp:Add( 9, 2808, "GridLines" ) oTable_Grp:Add( 9, 2809, "Properties" ) oTable_Grp:Add( 9, 2810, "Document Map" ) oTable_Grp:Add( 9, 2811, "Thumbnails" ) oTable_Grp:Add( 9, 2812, "Document Action Bar" ) oControlOptions := oRb:Controls:Add( 2, 0, "Options") oControlOptions:Flags = 1 && xtpFlagRightAlign oControl := oControlOptions:CommandBar:Controls:Add( 2, 0, "Styles") oControl:CommandBar:Controls:Add( 1, 3000, "Blue" ) oControl:CommandBar:Controls:Add( 1, 3001, "Black" ) oControl:CommandBar:Controls:Add( 1, 3003, "Silver" ) oControl:CommandBar:Controls:Add( 1, 3002, "Aqua" ) oControlPopup := oControlOptions:CommandBar:Controls:Add( 2, 0, "Font", -1, .F.) oControlPopup:CommandBar:Controls:Add( 11, 32883, "System Default", -1, .F.) oControl := oControlPopup:CommandBar:Controls:Add( 11, 32884, "Normal", -1, .F.) oControl:BeginGroup = .T. oControlPopup:CommandBar:Controls:Add( 11, 32885, "Large", -1, .F.) oControlPopup:CommandBar:Controls:Add( 11, 32886, "Extra Large", -1, .F.) oControl := oControlPopup:CommandBar:Controls:Add( 1, 32887, "Auto Resize Icons", -1, .F.) oControl:BeginGroup = .T. oControlOptions:CommandBar:Controls:Add( 1, 3004, "Right To Left" ) oControlOptions:CommandBar:Controls:Add( 1, 3005, "Animation" ) oControlAbout := oRb:Controls:Add( 1, 4000, "&About") oControlAbout:Flags = 1 && xtpFlagRightAlign AAdd( aButtons, oButton1 ) AAdd( aButtons, oButton2 ) AADD( aButtons, oQBtn1 ) AADD( aButtons, oQBtn2 ) AADD( aButtons, oQBtn3 ) AADD( aButtons, oExitBtn ) AADD( aButtons, oExitBtn2 ) AADD( aButtons, oControlAbout ) AADD( aButtons, oPrnSetup ) oButton1:Caption = "FiveWin power!" oButton1:TooltipText = "Ribbonbar for FWH" ACTIVATE WINDOW oWnd return nil function RibbonBarEvent( cEvent, aParams, pParams, aButtons, oWnd ) do case case cEvent == "Execute" .and. Len( aButtons ) > 0 do case case aButtons[ 1 ]:hObj == aParams[ 1 ] MsgInfo( "Button 1" ) case aButtons[ 2 ]:hObj == aParams[ 1 ] MsgInfo( "Button 2" ) case aButtons[ 3 ]:hObj == aParams[ 1 ] MsgInfo( "From Quick Access Button 1" ) case aButtons[ 4 ]:hObj == aParams[ 1 ] MsgInfo( "From Quick Access Button 2" + CRLF + "FIVEWIN SHARING POWER" ) case aButtons[ 5 ]:hObj == aParams[ 1 ] MsgInfo( "From Quick Access Button 3" ) case aButtons[ 6 ]:hObj == aParams[ 1 ] oWnd:End() case aButtons[ 7 ]:hObj == aParams[ 1 ] oWnd:End() case aButtons[ 8 ]:hObj == aParams[ 1 ] MsgInfo( "FWH's ActiveX Power support Codejock", "About Codejock" ) case aButtons[ 9 ]:hObj == aParams[ 1 ] PrinterSetup() endcase endcase return nil