Página 1 de 2
alogo extrano no dbunlock()
Enviado: 23 Out 2007 13:36
por tonyx
executo a rotina no meu computador e incuo varia vezes sem erro
quando coloco na rede ele para no dbunlock()
utilizo ntx
function ftravar()
dbrlock()
return(.t.)
return(nil)
function destrava()
dbcommit()
dbunlock()
return(.t.)
return(nil)
========== desconeco o do porque uso no unidade F ele para ---
== so tem 1 (um) usuario usando sera que eo do NTX

?

RESP
Enviado: 23 Out 2007 14:44
por tonyx
mais um simples detalhe rotina e gravar e listar o protocolo para o word
ele faz isso na 1. vez
mas na segunda vez ele trava no dbcommit()
** realizei sem mandar para o word e vai traquilo quantas vezes **
1- grava
2- lista p/ word
--- no micro C faz legal mas quando e rede F para

?
no clip 53 faz beleza
Enviado: 23 Out 2007 14:51
por alaminojunior
O correto e mais seguro seria testar se a trava aconteceu de fato.
Código: Selecionar todos
function ftravar()
vezes:= 0
do while vezes <= 10
rlock()
if neterr()
vezes++
loop
else
return(.t.)
endif
enddo
return(.f.)
RESP
Enviado: 23 Out 2007 15:30
por tonyx
ACHEI A FALHA ESTA NO COMANDO
COMANDO = "START "+ARQ_DOC
RUN &COMANDO
= O ESTRANHO E QUE SO ACONTECE NO XHARBOUR NO CLIP 53 TA OK
MANDO 1. VEZ LISTA NA 2. VEZ O DBCOMMIT PARA NA GRAVACAO
SE TIRAR O COMANDO DE LISTAGEM --- VAI TRANQUILO
EXISTE ALGUMA OBSERVACAO EM USAR O -
RUN NO XHARBOUR

Enviado: 23 Out 2007 16:17
por alaminojunior
Sinceridosamente...

Não entendi.
Re: RESP
Enviado: 23 Out 2007 16:50
por ederxc
tonyx escreveu:ACHEI A FALHA ESTA NO COMANDO
COMANDO = "START "+ARQ_DOC
RUN &COMANDO
= O ESTRANHO E QUE SO ACONTECE NO XHARBOUR NO CLIP 53 TA OK
MANDO 1. VEZ LISTA NA 2. VEZ O DBCOMMIT PARA NA GRAVACAO
SE TIRAR O COMANDO DE LISTAGEM --- VAI TRANQUILO
EXISTE ALGUMA OBSERVACAO EM USAR O -
RUN NO XHARBOUR

Nem eu , explica detalhadamente , passo a passo ...
Enviado: 24 Out 2007 04:01
por rochinha
Amiguinho
Voce esta usando uma ferrari para fazer o serviço de um fusquinha, quando executa o comando START para um arquivo .DOC.
Tente direcionar seu comando para abrir o WordPad ou até mesmo o Notepad.
A cada vez que voce executa um comando RUN para executar o Word ele deixa seu rasto em evidencia, basta voce olhar no Gerenciador de Tarefas e vera que vários processos Winword estarão ativos e por algum motivo eles ficam atrapalhando depois.
Enviado: 24 Out 2007 08:49
por sygecom
Enviado: 24 Out 2007 13:12
por Luciano Bonfim
Caro Leonardo,
testei sua rotina para abrir arquivo .doc e deu um erro: "document/9 item"
estou usando vista ultimate e office 2003
Muito Obrigado
Enviado: 24 Out 2007 13:36
por sygecom
qual versão do xharbour esta usando alguma GUI ? post como esta usando !!!
resp
Enviado: 24 Out 2007 13:47
por tonyx
deu certo IMPRIMIU SOZINHO E DIRETO NA LASER QUE E PADRAO
1- troquei o MSGRUN E O MSGSTOP POR @ lincol sau msg
2- coloquei * (asteristico na linha do temp.doc )
duvida e ele nao deveria abrir o word e exibir ficar la ( so sair ao F4)
---------------
em questao a minha outra questao do
RUN START ARQUIVO
O INTERESANTE QUE SE PERDE AS CHAVES INDEXADORAS DOS
ARQUIVOS EM REDE ISTO E NA UNIDADE F:
MAS QUANDO EXECUTO NA C: AS CHAVES PERMANECEM
--------- NAO ENTENDI NADA ----
MAS VALEU PELA DICA DA FUNCAO DO WORD
PERGUNTA
NO CASO A DICA SERVIRIA RETIRAR A IDEIA DE USAR O
DOSPRINTER.EXE E TAL USB ..
Enviado: 24 Out 2007 13:59
por Luciano Bonfim
Estou usando a 0.99.71 com gtwvw
tirei os comandos da hwgui. este ted.doc é um arquivo word de 1 página
Código: Selecionar todos
abre_word("ted.doc")
*************************
PROCEDURE Abre_word(cARQ)
*************************
LOCAL oWord,oText
PRIVATE oDlgHabla:=NIL
//MsgRun("Aguarde Gerando Documento de Word...")
//RenameFile( cARQ, "TEMP.DOC" )
cARQ="ted.doc"
TRY
oWord := GetActiveObject( "Word.Application" )
CATCH
TRY
oWord := CreateObject( "Word.Application" )
CATCH
//MsgStop("Não foi Possivel Achar o Word Instalado","Aviso do Sistema")
IF oDlgHabla#NIL
oDlgHabla:CLOSE()
ENDIF
RETURN
END
END
IF !FILE(cARQ)
//MsgStop("Não Foi Localizar e Abrir o Documento de Word")
IF oDlgHabla#NIL
oDlgHabla:CLOSE()
ENDIF
RETURN
ENDIF
oWord:Documents:Open(cARQ) //ABRE O WORD
oWord:Visible := .T. //PARA VISUALIZAR OU NÃO ANTES
oWord:WindowState := 1
oWord:PrintOut() //PARA IMPRIMIR DIRETO
IF oDlgHabla#NIL
oDlgHabla:CLOSE()
ENDIF
RETURN
resp
Enviado: 24 Out 2007 14:05
por tonyx
caso nao querendo enteromper .. aqui ta legal so as duvidas a cima
================
1- caso o amigo possa POR TAL FUNCAO EM CLIP 53 pois seria o maximo para o clippeiros
2-- no caso no clip 53 da erro no -
TRY
CATCH,
CREATEOBJ
GETACTIVE
Re: resp
Enviado: 24 Out 2007 17:35
por sygecom
tonyx escreveu:deu certo IMPRIMIU SOZINHO E DIRETO NA LASER QUE E PADRAO
o que faz imprimir direto é a linha
oWord:PrintOut()
duvida e ele nao deveria abrir o word e exibir ficar la ( so sair ao F4)

Se vc deixar
oWord:Visible := .T. e não mandar imprimir direto...ele fica lá esperando, mas não bloqueia o sistema que chamou ele.
---------------
em questao a minha outra questao do
RUN START ARQUIVO
O INTERESANTE QUE SE PERDE AS CHAVES INDEXADORAS DOS
ARQUIVOS EM REDE ISTO E NA UNIDADE F:
MAS QUANDO EXECUTO NA C: AS CHAVES PERMANECEM
--------- NAO ENTENDI NADA ----
Tmb. não entendi pq esta se perdendo...post a função inteira e dentro de [ CODE ]
PERGUNTA
NO CASO A DICA SERVIRIA RETIRAR A IDEIA DE USAR O
DOSPRINTER.EXE E TAL USB ..
Pode ser tmb. mas para impressão direta no xharbour em qualquer impressora pode usar a classe win32prn.
Abraços
Leonardo Machado
Enviado: 24 Out 2007 17:39
por sygecom
Luciano Bonfim escreveu:Estou usando a 0.99.71 com gtwvw
tirei os comandos da hwgui. este ted.doc é um arquivo word de 1 página
Tente conforme esta abaixo:
Código: Selecionar todos
abre_word("ted.doc")
*************************
PROCEDURE Abre_word(cARQ)
*************************
LOCAL oWord,oText
RenameFile( cARQ, "TEMP.DOC" )
cARQ="TEMP.DOC"
TRY
oWord := GetActiveObject( "Word.Application" )
CATCH
TRY
oWord := CreateObject( "Word.Application" )
CATCH
//MsgStop("Não foi Possivel Achar o Word Instalado","Aviso do Sistema")
RETURN
END
END
IF !FILE(cARQ)
RETURN
ENDIF
oWord:Documents:Open(cARQ) //ABRE O WORD
oWord:Visible := .T. //PARA VISUALIZAR OU NÃO ANTES
oWord:WindowState := 1 // pagina que deve iniciar
oWord:PrintOut() //PARA IMPRIMIR DIRETO
RETURN
Abraços
Leonardo Machado