Página 1 de 1

Congelamento no unlock - na rede

Enviado: 18 Mar 2008 09:13
por tonyx
tenho dois bat´s 1. bat_c que trabalha banco dados no C
2. bat_G que trabalha banco de dados no D
main()
parameters dir_dados
-------- questao e a seguinte nao uso nehuma lib grafica so teste de de como funciona na rede em janela ---
TESTE 1
no icone n2 dados no D tenho LAYOUT LARGURA 80 E ALTRURA 50 TELA INTEIRA - UNLOCK FUNCIONA OK

NO TESTE 2 LAYOUT 80 E ALTURA 50 TELA JANELA - UNLOCK CONGELA
----- JA NO ICONE 1 DADOS C - NAO EXISTE ERROR NO UNLOCK ---

ALGUEM JA PASSOU POR ISTO ???????????????
*--------------
FUNCTION FRLOCK(OPCAO,REG_ALT)
PRIVATE FLAG,TEMPO
FLAG = .F.
TEMPO = 0
OPCAO:= UPPER(OPCAO)
IF OPCAO = 'I' && PARA INCLUSAO
DO WHILE TEMPO <= 10
APPEND BLANK
if dbRLOCK()
FLAG = .T.
TEMPO = 100
else
INKEY(0.5)
TEMPO = TEMPO + 0.5
endif
ENDDO
IF ! FLAG
MOSTRA(23,1,'APPE Blank ao Arquivo '+dbf()+' Nao Disponivel')
FUNLOCK()
ENDIF
ELSE && PARA ALTERACOES E EXCLUSOES
IF RECNO() != REG_ALT
GOTO REG_ALT
ENDIF
DO WHILE TEMPO <= 10
if dbRLOCK()
FLAG = .T.
TEMPO = 100
else
INKEY(0.5)
TEMPO = TEMPO + 0.5
ENDIF
ENDDO
IF ! FLAG
MOSTRA(23,1,'ACESSO ao Registro '+STR(REG_ALT, 5)+' do Arquivo '+DBF()+' NAO Disponivel')
FUNLOCK()
ENDIF
ENDIF
RETURN(FLAG)
*-----------------------------------
FUNCTION FUNLOCK()
** DBCOMMIT()
*** DBCOMMIT - NAO PRECISA SO FORCA GRAVACAO FISICAMENTE
UNLOCK
RETURN(NIL)
============================
A QUESTAO E PORQUE COLOCO EM JANELA CONGELA O UNLOCK
SO NA DIRECAO BANCO DE DADOS DA REDE ??????

Enviado: 18 Mar 2008 11:45
por rochinha
Amiguinho.

O caso seria de voce usar codigo simples, sem apresentação de mensagens, pois são elas que estão congelando, um comando unlock não pode travar uma aplicação.

Revise e retire estes comandos até que voce verifique o porque do travamento, provavelmente um indice ou tabela corrompidos e o fato de estar em janela, maximizar ou minimizar ira influir no comando interno.

Depois de sanar o problema com os travamentos perfume a função de travamento.

TRAVA

Enviado: 18 Mar 2008 12:05
por tonyx
DESCULPE A BURRICE - MAS PORQUE NO BANCO DE DADOS
DRIVER C - NAO TRAVA - MESMO COM JANELA NO TAL ICONE DE CHAMADA
---- REALMENTE PARA O MEU ENTENDIMENTO
NAO AFETARIA POIS EXECUTO NO CLIP-53 E PASSA NO DRIVER D

PODE SER ALGO DIMENSAO TELA - BUFFERS - JA EXECUTO EM DOS

Enviado: 19 Mar 2008 11:02
por sygecom
tonyx, eu não entendi muito bem seu problema, se postar uns exemplos, que agente possa compilar e testar, fica mais facil de ajudar, e se não for pedir de mais, post codigo dentro de [ CODE ]

RESP

Enviado: 20 Mar 2008 08:37
por tonyx
CAROS AMIGOS ROCINHA E SYSGECOM - PARECE INCLIVEL MAIS
O MEU SISTEMA DE PROTOCOLO -
FUNCIONA NO DRIVER C:\ TANTO NA TELA INTEIRA OU JANELA
MA NO DRIVER G:\ SO FUNCIONA NA TELA INTEIRA
===== PODERIA MANDAR O SISTEMA PARA VOCES ****

Enviado: 20 Mar 2008 13:40
por Maligno
Rocinha, cuidado com o BOPE. :)))

Enviado: 24 Mar 2008 02:23
por rochinha
Amiguinhos

Maligno,

Levei 10 minutos para entender seu post. Hahaha! depois caiu a ficha, hehehe. Inda bem que a tropa daqui é otra.

Tonyx

Não ira adiantar vc nos enviar o sistema, pois o problema reside em sua maquina, portanto verifique as propriedades de seu atalho DOS para o drive G: ele possui alguma peculiaridade em relação aos outros.

Crie novos atalhos e não faça modificações a não ser o do caminho, deve existir um porque deste problema e pode ser uma pequena configuração perdida ou sobrando.

Quando vc diz que ele funciona no drive C: é porque esta executando diretamente no servidor e quando diz no drive G: é porque esta executando em um terminal e a possibilidade deste problema reside no fato dos dois S.O. terem alguma diferença em alguma configuração.

Revise.

Enviado: 26 Mar 2008 13:49
por sygecom
tonyx, é mais facil vc postar um pequeno e simples exemplo de uso, que qualquer um possa compilar e testar, eu aqui uso mapeamento e uso unidade direta para gravação em rede e não tenho problemas, vc me mandou um exemplo, porem seu sistema não roda em tela cheai somente janelado, pq usa a GTWVW

RESP

Enviado: 27 Mar 2008 09:30
por tonyx
depois de uma semana e uma noite sem dormir acreditem consegui:
o que estava acontecendo :
no meu computar e um XP no Driver C:
no outro e um WIN98 DRIVER G:
=== FUI LA NO ICONE DE ACESSO BAT_G COLOQUEI
COMPATIBILIDADE PARA WIN98 - FUNCIONOU
------- FALAM OS ESPECIALISTAS TECNICOS E O DRIVER DE VIDEO ---

Re: RESP

Enviado: 27 Mar 2008 10:06
por Itamar M. Lins Jr.
tonyx escreveu:depois de uma semana e uma noite sem dormir acreditem consegui:
o que estava acontecendo :
no meu computar e um XP no Driver C:
no outro e um WIN98 DRIVER G:
=== FUI LA NO ICONE DE ACESSO BAT_G COLOQUEI
COMPATIBILIDADE PARA WIN98 - FUNCIONOU
------- FALAM OS ESPECIALISTAS TECNICOS E O DRIVER DE VIDEO ---
Puts! agora voce informa que no g: é win98 ! Sem comentarios!
Igual a nova pergunta que voce esta fazendo em outro post.
Não informa nada, só diz que apresentou defeito.
Não diz qual versão do [x]harbour. OS, CPU, etc...
Não que CPU seja relevante, mas versão do [x]harbour é.

Saudações
Itamar M. Lins Jr.