公司最近計劃搞一個報表伺服器,用FineReport作為後台Web Server,瀏覽器作為用戶端。
公司的ERP是使用PowerBuilder 9.0開發的,為了實現在ERP中整合FineReport,想到了在PowerBuilder中嵌入IE控制項的處理方式。
在網上搜到下面代碼:
Integer resultoleobject objExplorerobjExplorer = CREATE oleobjectresult = objExplorer.ConnectToNewObject( "InternetExplorer.Application")IF result = 0 THEN objExplorer.Navigate("about:blank") objExplorer.ToolBar = 0 objExplorer.StatusBar = 0 objExplorer.Width = 300 objExplorer.Height = 150 objExplorer.Left = 0 objExplorer.Top = 0 objExplorer.Visible = 1END IF
上面的代碼可以實現在PB裡面開啟一個瀏覽器視窗,不過這個視窗是另外開的,沒有嵌入到PB中。
修改一下:
1. 插入一個OLE對象Microsoft Web Browser,命名為ole_1。
2. 寫一段代碼:ole_1.object.Navigate("http://www.baidu.com")。
3. 運行程式,成功。
如何在PB中呼叫瀏覽器的JavaScript?
1. 在網頁中寫入要調用的指令碼:
<SCRIPT language=JavaScript>function showmessage(img_name) { alert(img_name);}</SCRIPT>
2. 在PB中調用:
ole_1.object.document.parentWindow.showmessage("吞硬幣的小豬");