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 ????

:-o

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... :-o 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