segunda-feira, dezembro 11, 2006

PowerBuilder – Chamando uma aplicativo e aguardando a finalização

Abaixo vai um código fornecido pelo Ricardo Contin, que chama uma executável a partir do PowerBuilder e fica aguardando a execução do mesmo.

Este código é muito útil, principalmente quando você depende do resultado da outra aplicação, com a compactação de um arquivo, criptografia e etc...

Rodar um executavel e esperar
OleObject wsh
integer li_rc
CONSTANT integer MAXIMIZED = 3
CONSTANT integer MINIMIZED = 2
CONSTANT integer NORMAL = 1
CONSTANT boolean WAIT = TRUE
CONSTANT boolean NOWAIT = FALSE

wsh = CREATE OleObject
li_rc = wsh.ConnectToNewObject( "WScript.Shell" )
li_rc = wsh.Run("Notepad" , NORMAL, WAIT)

a msg abaixo so deve aparecer apos vc fechar o notepad
messagebox("ola", "teste")

se usar WAIT teremos em Run o codigo de retorno da aplicacao chamada
as constantes definidas podem tbm ser:

0 Hides the window and activates another window.
1 Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.
2 Activates the window and displays it as a minimized window.
3 Activates the window and displays it as a maximized window.
4 Displays a window in its most recent size and position. The active window remains active.
5 Activates the window and displays it in its current size and position.
6 Minimizes the specified window and activates the next top-level window in the Z order.
7 Displays the window as a minimized window. The active window remains active.
8 Displays the window in its current state. The active window remains active.
9 Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window.
10 Sets the show state based on the state of the program that started the application.

Nenhum comentário: