abrir Wordpad com objeto Ole

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

Olá,
alguém sabe se tem como abrir um arquivo no forms 6i feito pelo wordpad ?
tentei fazer o descrito abaixo mas não funcionou. Tem alguma limitaçao para tipos de arquivo para serem abertos ?

Selecionar tudo

DECLARE
myapplication ole2.obj_type;
mydocuments ole2.obj_type;
mydocument ole2.obj_type;
args ole2.list_type;
Begin
myapplication := ole2.create_obj ('Wordpad.Application');
ole2.set_property (myapplication, 'Visible', 1);
mydocuments := ole2.get_obj_property (myapplication, 'Documents');
args := ole2.create_arglist;
ole2.add_arg (args, 'c:\teste.doc');
mydocument := ole2.invoke_obj (mydocuments, 'Open', args);
ole2.destroy_arglist (args);
args := ole2.create_arglist;

ole2.Release_obj (mydocument);
ole2.Release_obj (mydocuments);
ole2.Release_obj (myapplication);
End; 

obrigado,
Marlon
tora34
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 108
Registrado em: Qua, 12 Nov 2008 6:01 pm
Localização: Campo Mourão PR
Renato Pasquini
Oracle Developer

Bom dia,
tudo bem?
acredito que não.
Utilizo um programa (fmx) para abrir arquivos a partir de uma aplicação form6i utilizando o aplicativo padrão de leitura do tipo de arquivo instalado no sistema operacional da maquina cliente.

Basicamente o procedimento utilizado é este:

Selecionar tudo

  procedure prc_executa(par_caminho_arquivo varchar2 default null) is
    ole_item   					ITEM;
    va_caminho_arquivo varchar2(1002):=pck_arquivo.caminho;
    
  begin
  	pck_arquivo.prc_encerrar; 
  	if par_caminho_arquivo is not null then
  		va_caminho_arquivo := par_caminho_arquivo;
  	end if;  	
    ole_item := FIND_ITEM('OLE_ARQUIVO');    
    IF NOT ID_NULL(ole_item) THEN
       Forms_OLE.Initialize_Container(ole_item, va_caminho_arquivo);
    END IF;
    IF Forms_OLE.Server_Active(ole_item) = FALSE THEN
       Forms_OLE.Activate_Server(ole_item);
    END IF;
    --
    Forms_OLE.Exec_Verb(ole_item, 1);
    --Forms_OLE.Exec_Verb(ole_item,'Edit');
    --
  end;
Abraço
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes