Erro na função HB_OPENPROCESS
Enviado: 16 Jan 2010 22:05
Olá amigos.
Para executar sistemas externos, usu a função HB_OpenProcess() que deve retornar -1 se acontecer algum erro durante a execução da expressão, conforme código abeixo:
O problema é que a linha "if mValor<0", está retornando .t. e no meu teste deveria retornar .f., ai exibiria uma mensagem e retornaria como .f.
Vi que se eu inserir a linha "? mValor" antes da linha do IF, a rotina funciona perfeitamente bem.
Algém sabe me dizer o porque dessa falha?
Para executar sistemas externos, usu a função HB_OpenProcess() que deve retornar -1 se acontecer algum erro durante a execução da expressão, conforme código abeixo:
Código: Selecionar todos
function MYRUN( cComando, msg )
msg:=if(msg=NIL,'',msg)
mValor:=hb_openprocess(cComando,,,,.t.) //xhb.lib
if mValor<0
DBOX(msg+'|Erro do DOS nº ' + tran(ferror(),'99'),,,,,"ATENÇÃO!")
RETU .f.
endif
retu .t.
Vi que se eu inserir a linha "? mValor" antes da linha do IF, a rotina funciona perfeitamente bem.
Algém sabe me dizer o porque dessa falha?