Rochinha,
A classe
TAcvtivex() não possui os métodos
end() e
close().
Pelo menos no arquivo
TAxPrg.prg que tem na pasta
C:\MiniGUI\SAMPLES\Advanced\PDFReader da MINIGUI que baixei.
O código está assim :
[DEFINE WINDOW FORMPDFREADER ;
AT 0, 0 ;
WIDTH 800 HEIGHT 800 ;
TITLE "MTRAB.NET - PDF Reader";
NOSIZE;
NOMAXIMIZE;
NOMINIMIZE;
MAIN ;
ICON 'ADOBE.ICO' ;
ON INIT fOpenActivex(cFilePDF) ;
ON RELEASE fCloseActivex()
END WINDOW]
E o código das 2 funções é o seguinte :
[Static Procedure fOpenActivex(cFilePdf)
LOCAL cPDF:=cFilePdf
IF FILE(cPDF)
oWActiveX := TActiveX():New(ThisWindow.Name, ;
"AcroPDF.PDF.1", ;
0, ;
0, ;
GetProperty(ThisWindow.Name, "width") - 02 * GetBorderWidth() - 1 , ;
GetProperty(ThisWindow.Name, "height") - 05 * GetBorderHeight() - ;
GetTitleHeight() - ;
GetMenuBarHeight() )
oActiveX := oWActiveX:Load()
oActiveX:LoadFile(cPDF)
ELSE
MsgStop("Arquivo PDF não encontrado.")
FORMPDFREADER.Release()
ENDI
Return
********************
STAT FUNC fCloseActivex()
IF VALTYPE(oWActivex) <> "U" .AND. VALTYPE(oActivex) <> "U"
oWActivex := Nil
oActivex := Nil
ENDI
RETU NIL]
Desse jeito, a janela é encerrada mas o processo
AcroRd32.exe não.
A aplicação está rodando num TS. E o que aconetce é que a conexão não é encerrada assim que o programa é encerrado pq o processo fica sendo executado ainda.
Qual a solução pra isso ???