Complementando nosso amigo Jairo Maia, ele está correto no que tange o fechamento do objeto originalizador.
Geralmente os objetos possuem um terminador para finalizá-los, sendo objeto:Close(), objeto:Exit(), objeto:Quit() e objeto:End() sendo que para finalizar um objeto InternetExplorer.Application usa-se o objeto:End().
Meu exemplo de uso desta API:
Código: Selecionar todos
*
* ----------------------------------------------------------------
*
FUNCTION OLEIExplorer(oIEWnd,cEndereco,lMDI,lPrint)
LOCAL oIE
Default lMDI := .t., lPrint := .f.
Default cEndereco := "http://www.guiamais.com.br/ruas/"
oIE:=TOleAuto():New( "InternetExplorer.Application" )
oIE:Visible := .T.
oIE:ToolBar := iif( lMDI = NIL, .f., .t. )
oIE:StatusBar := .F.
oIE:Top := 055
oIE:Left := 001
oIE:Height := 600
oIE:Width := 800
oIE:MenuBar := .F.
oIE:Navigate( cEndereco )
// Se lPrint = .t. é forçada a impressão do conteúdo
if lPrint
oIE:ExecWB(6,0,0,0) // Imprimir
endif
// Exemplo de salvamento do conteúdo
//oIE:Document.execCommand("saveas")
oIE:End()
if lMDI
DEFINE WINDOW oIEWnd MDI
ACTIVATE WINDOW oIEWnd ON INIT FindIE(oIEWnd) MAXIMIZED
else
DEFINE WINDOW oIEWnd TITLE cEndereco MDICHILD STYLE nOr(WS_CHILD,DS_SYSMODAL,DS_MODALFRAME)
ACTIVATE WINDOW oIEWnd ON INIT FindIE(oIEWnd) MAXIMIZED
endif
SysRefresh()
RETURN
Function FindIE(oWIn)
local lCaptured, hIE
hIE := FindWindow("IEFrame")
lCaptured := ( hIE > 0 )
IF lCaptured
SetParent(hIE, oWin:hWnd)
SysRefresh()
ELSE
MsgStop('IE nao capturado. ative-o')
ENDIF
return nil

