Jump to content
Fivewin Brasil

Yury

Membros
  • Posts

    873
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Yury

  1. citação:Experimente antes de usar colocar dbgotop(), se funcionar é pq o dbgoto() esta pegando do registro atual em diante e não do inicio do arquivo.... seria um erro no dbgotop() do sqllib... Ronaldo Minacapelli (11) 2950 3069 id=quote>id=quote>fiz um teste aqui do jeito que vc falou e colocando o DBGOTOP() antes do DBGOTO() funciona, ou seja, não fica em fim de arquivo, posiciona do registro correto... fico ainda no aguardo de uma posição do Vailton... abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say Editado por - yury on 16/06/2009 08:14:41
  2. citação:Será que não poderia adicionar tab's e nela exibir somente a tal foto? id=quote>id=quote>boa solução, ou também um button abaixo da imagem com o nome "Zoom" por exemplo, que chame uma dlg somente com a imagem no seu tamanho máximo... Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  3. Vailton, compilando agora com (tudo original da versão FWH 8.01): FW 8.01 xHB build 1.1.0 (SimpLex) BCC 5.5.1 e problema com DBGOTO continua, se não colocar duas vezes não posiciona no registro correto... BEGIN TRANSACTION // inicia transação FOR WX=1 TO LEN(aRECDP) DP->(DBGOTO(aRECDP[WX])) DP->(DBGOTO(aRECDP[WX])) REPLACE DP->DPQTPC WITH WULPC NEXT // finaliza transacao END TRANSACTION COMMIT id=code>id=code>dessa forma funciona, se não colocar duas vezes fica em EOF() e gera erro (abaixo o log gravado em sqllog.txt): 12/06/2009 08:56:18 SQLLIB/4002: MYSQL RDD Invalid Record Buffer Found For REPLACE Statement: EOF() = .T. id=code>id=code>estamos muito preocupados com esta situação aqui, visto que o posicionamento com RECNO() ainda é muito utilizado nas rotinas que utilizam comandos/funções do xHarbour no aguardo de alguma orientação abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say Editado por - yury on 15/06/2009 07:54:52 Editado por - yury on 15/06/2009 14:22:54
  4. Vailton, criei um novo projeto aqui utilizando: FWH 8.01 + xHarbour original que está junto com o FW sqllib_xHB_110.LIB como posso ter certeza que esta versão da sqllib é a compatível para utilizar com este FWH ? abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  5. olá Marcelo eu costumo proceder desta forma, instalar o pacote completo que vem com a versão do FW (FW, xHB, BCC, etc) ocorre que ao instalar a versão 8.01 com xHb 99.71 começou a ocorrer o erro que relatei no tópico abaixo: http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=15258 seguindo a dica do Alê SB, eu troquei a versão do xHb para a 1.10.00 mas agora sinceramente estou perdido quanto ao que fazer, não sei se o problema é na SQLLIB, no FWH ou no xHb abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  6. mas versão nova de que ? da SQLLIB ? Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  7. não, não é o original, pois na minha versão veio somente até o 99.71 eu baixei daqui: http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=15258 Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say Editado por - yury on 10/06/2009 11:54:42
  8. Vailton, rotinas que funcionam com DBGOTO no FWH DBF estão provocando erros quando utilizadas com FWH SQLLIB (b)ERRORSYS, na linha : 12 SQL_ERROR, na linha : 165 _MYSQL_GOTO, na linha : 425 DBGOTO, na linha : 0 MTM114_SPD, na linha : 8457 MTC242_G1, na linha : 469 MTC242_G, na linha : 324 (b)MTC242_A, na linha : 175 (b)MSGMETER, na linha : 119 id=code>id=code> GPFHANDLER, na linha : 901 DBGOTO, na linha : 0 MTM202_NEW, na linha : 501 (b)MTM202_A, na linha : 92 id=code>id=code>além de em alguns casos simplesmente não posicionar no registro desejado também está gerando erros em tempo de execução e até GPF Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  9. olá Vailton Estou enfrentando uma dificuldade com a SQLLIB na função DBGOTO() que não está posicionando corretamente no registro que deveria em alguns casos... em virtude disso, fica em EOF()/BOF() e quando tenta regravar gera o erro: exemplo: SELECT CL DBGOTO(nRegCli) REPLACE CLNOME WITH cNome id=code>id=code> MYSQL RDD Invalid Record Buffer Found For REPLACE Statement: EOF() = .T. id=code>id=code>na variável nRegCli é certeza absoluta de estar o número do registro, já foi verificado... somente consegui fazer funcionar colocando duas vezes o DBGOTO() SELECT CL DBGOTO(nRegCli) DBGOTO(nRegCli) REPLACE CLNOME WITH cNome assim posiciona corretamente !!! id=code>id=code>gostaria de saber se há alguma solução para isso estou utilizando SQLLIB 1.9D, FW 8.01, xHb 1.10.00 e MySql abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say Editado por - yury on 05/06/2009 16:34:12
  10. olá Vailton Estou enfrentando uma dificuldade com a SQLLIB na função DBGOTO() que não está posicionando corretamente no registro que deveria em alguns casos... em virtude disso, fica em EOF()/BOF() e quando tenta regravar gera o erro: exemplo: SELECT CL DBGOTO(nRegCli) REPLACE CLNOME WITH cNome id=code>id=code> MYSQL RDD Invalid Record Buffer Found For REPLACE Statement: EOF() = .T. id=code>id=code>na variável nRegCli é certeza absoluta de estar o número do registro, já foi verificado... somente consegui fazer funcionar colocando duas vezes o DBGOTO() SELECT CL DBGOTO(nRegCli) DBGOTO(nRegCli) REPLACE CLNOME WITH cNome assim posiciona corretamente !!! id=code>id=code>gostaria de saber se há alguma solução para isso estou utilizando SQLLIB 1.9D, FW 8.01, xHb 1.10.00 e MySql abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say Editado por - yury on 05/06/2009 16:34:12
  11. minha opnião: citação:Qual o melhor esquema/classe para imprimir? id=quote>id=quote>Notas Fiscais em formulário, TDosPrn (matricial) Relatórios de movimentação muito extensos, TDosPrn (matricial) todo o restante, TPrinter/TReport (jato de tinta,laser) citação:todas imprimem em qqer improssora seja usb ou lpt1? parece q pelo q ja li a dosprn nao ....é isso? id=quote>id=quote>Correto, TPrinter/TReport utilizam as impressoras cadastradas/drivers do Windows da máquina em que o aplicativo está rodando, portanto todo dispositivo que o Windows enxergar vc pode imprimir também, já a TDosprn não enxerga porta usb/compartilhamento (até tem algumas modificadas para funcionar) citação:qual a principal difierença entre a treport e a tprinter? id=quote>id=quote>TReport permite a vc formatar um relatório com colunas, totalizações, quebras automaticamente TPrinter vc desenha o seu relatório/formulário na unha veja também alguma coisa sobre FastReport, tem um pessoal do fórum que utiliza e fala muito bem dele abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  12. citação:Ola Galera e melhor enviar um VK_RETURN ao pressinar F3 por exemplo SetKey( F3, oBtn:SendMsg( VK_RETURN ) ) e o resto de trabalho o faz o button, se esta disable() nao executa o processo id=quote>id=quote>esta é uma boa solução também... Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  13. veja lá se te serve: compara não só a quantidade de campos, mas também os tipos dos campos e o tamanho... //---------------------------------------------------------- IF lEqualArray(NEW->(DBSTRUCT()),OLD->(DBSTRUCT())) ? 'OK, estão iguais !' ELSE ? 'ERRO, estão diferentes !' ENDIF //---------------------------------------------------------- //---------------------------------------------------------- Function lEqualArray(aArray1,aArray2) LOCAL lEqual:=.T., nElem, nCol, x, z IF !LEN(aArray1)==LEN(aArray2) return .F. ENDIF IF !nArrayDim(aArray1)==nArrayDim(aArray2) return .F. ENDIF nElem = LEN(aArray1) nCol = nArrayDim(aArray1) FOR x=1 to nElem if nCol=1 IF !VALTYPE(aArray1[x])==VALTYPE(aArray2[x]) lEqual=.F. EXIT ENDIF IF !aArray1[x]==aArray2[x] lEqual=.F. EXIT ENDIF else FOR z=1 to nCol IF !VALTYPE(aArray1[x,z])==VALTYPE(aArray2[x,z]) lEqual=.F. EXIT ENDIF IF !aArray1[x,z]==aArray2[x,z] lEqual=.F. EXIT ENDIF NEXT IF !lEqual EXIT ENDIF endif NEXT return lEqual //---------------------------------------------------------- //---------------------------------------------------------- Function nArrayDim(aTabela) local nDimensoes:=0 if valtype(aTabela[1])="A" nDimensoes = LEN(aTabela[1]) else nDimensoes = 1 endif return nDimensoes //---------------------------------------------------------- id=code>id=code>abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say Editado por - yury on 29/05/2009 12:11:40
  14. citação:Yury, vc tentou usar o recurso para locar o registro para um determinado operador.... id=quote>id=quote>Não Nelson, não tentei isto... me explique como seria, qual sua idéia... isto poderia ser feito via comando/funções ou alguma flag nos campos do registro ? grato abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  15. vi que vc já resolveu alterando a classe, mas somente para deixar registrado que pode-se testar isto que vc quer pela propriedade oBtn:lActive... na verdade ela é declarada na classe Window e vai por herança para TControl, para TButton e finalmente para TButtonBmp, portanto: IF oBtn:lActive ? 'Botão Habilitado !' ELSE ? 'Botão Desabilitado !' ENDIF id=code>id=code>abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say Editado por - yury on 28/05/2009 18:12:27
  16. obrigado pela atenção Nelson e SA Oliveira, mas minha dúvida realmente é no momento do acesso simultâneo ao mesmo registro, é isto que eu não quero permitir, de forma que quando um dos operadores acessem um pedido para aprovação ele fique indisponível para os outros, pois a análise do pedido pode demorar 5 minutos por exemplo, e nesse tempo outro operador pode acessar o mesmo pedido depois que um dos operadores aprova/reprova, aí está tudo ok, pois o status do pedido já será alterado no FWH com DBF isto é muito simples de fazer, pois basta bloquear o registro quando o primeiro acessa e os outros não conseguiriam acessar, mas no BD MySql é outra história sei que um pouco embassado e chato, mas é uma necessidade abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say Editado por - yury on 28/05/2009 16:34:59
  17. veja esta funçãozinha que converte DBFNTX para DBFCDX adapte para as suas necessidades: //----------------------------------------------------- #include 'Fivewin.ch' Function Main() cFile=cGetFile('*.DBF','Informe um arquivo') Converte(cFile) RETURN //----------------------------------------------------- //----------------------------------------------------- function Converte(arquivo) local aestru:={} local ctemp_a:="TEMP.DBF" local ctemp_d:="TEMP.FPT" local corig:="DBFNTX" local cnovo:="DBFCDX" local mem_ant:=strtran(UPPER(arquivo),".DBF",".DBT") local mem_new:=strtran(UPPER(arquivo),".DBF",".FPT") dbusearea(.t.,corig,arquivo,"ant") aestru:=ant->(dbstruct()) dbcloseall() dbcreate(ctemp_a,aestru,cnovo) dbusearea(.t.,cnovo,ctemp_a,"nov") append from (arquivo) dbcloseall() if .not.file(ctemp_a) msgalert("Problemas durante a conversão. Arquivo "+arquivo+" não foi convertido","ATENÇÃO") return .f. endif erase(arquivo) if file(mem_ant) erase(mem_ant) rename (ctemp_d) to (mem_new) endif rename (ctemp_a) to (arquivo) return .t. //----------------------------------------------------- id=code>id=code>abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  18. olá amigos, Gostaria de opniões a respeito de como vocês tratam isto no sistema que está acessando MySql/Postsgree imaginem a seguinte situação (eu sei que é uma situação hipotética) : Rotina de Aprovação/Reprovação de Pedidos de Venda (libera ou não o pedido de venda para ser faturado): em determinada empresa, 3 operadores do sistema podem aprovar um pedido, Supervisor Geral, Gerente Geral e Gerente de Vendas o pedido está com um status "Aguardando Aprovação/Reprovação", então está liberado para que algum operador o acesse, analise e grave como impedir que cada um dos três operadores acessem ao mesmo tempo o mesmo pedido em três estações diferentes e consequentemente trabalhem com uma informação que já foi processada por outro terminal ? o Supervisor Geral reprova o pedido e grava o Gerente Geral reprova o pedido e grava o Gerente de Vendas aprova o pedido e grava Qual status vai ficar gravado ? "Pedido Aprovado" Mas o Supervisor Geral pode questionar: mas eu reprovei este pedido, como pode ? Portanto oque estou querendo é compartilhar opiniões de como resolver uma questão como essa (há várias outras, mas todas passam pelo mesmo conceito) desculpem pelo "livro" que eu escrevi abraços Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  19. olá amigos, Gostaria de opniões a respeito de como vocês tratam isto no sistema que está acessando MySql/Postsgree imaginem a seguinte situação (eu sei que é uma situação hipotética) : Rotina de Aprovação/Reprovação de Pedidos de Venda (libera ou não o pedido de venda para ser faturado): em determinada empresa, 3 operadores do sistema podem aprovar um pedido, Supervisor Geral, Gerente Geral e Gerente de Vendas o pedido está com um status "Aguardando Aprovação/Reprovação", então está liberado para que algum operador o acesse, analise e grave como impedir que cada um dos três operadores acessem ao mesmo tempo o mesmo pedido em três estações diferentes e consequentemente trabalhem com uma informação que já foi processada por outro terminal ? o Supervisor Geral reprova o pedido e grava o Gerente Geral reprova o pedido e grava o Gerente de Vendas aprova o pedido e grava Qual status vai ficar gravado ? "Pedido Aprovado" Mas o Supervisor Geral pode questionar: mas eu reprovei este pedido, como pode ? Portanto oque estou querendo é compartilhar opiniões de como resolver uma questão como essa (há várias outras, mas todas passam pelo mesmo conceito) desculpem pelo "livro" que eu escrevi abraços Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  20. verifique se voce está fazendo "REQUEST DBFFPT" no programa, pq para abrir arquivos DBFCDX que tem memo é necessário abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  21. qdo programava em clipper ainda, utiliza esta função, que lê o cabeçalho do DBF se não me engano, verifique se atende suas necessidades: #include "Fivewin.ch" //--------------------------------------------------------------------------------------------- FUNCTION ChecaDBF() cFileDBF:=cGetFile('*.DBF','Selecione um arquivo:') IF VERIFICA(cFileDBF) ? 'Arquivo OK !' ELSE ? 'Arquivo COM ERRO !' ENDIF RETURN //--------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------- FUNCTION VERIFICA(nomarq) LOCAL NROARQ:=FOPEN(NOMARQ) LOCAL WARQ:=DIRECTORY(NOMARQ) LOCAL WCONT LOCAL WCONR LOCAL WBUF LOCAL WHIG LOCAL WLOW LOCAL WLASTREC LOCAL WHEADSIZ LOCAL WRECSIZ LOCAL WNKB IF NROARQ#-1 WBUF=SPACE(12) FREAD(NROARQ,@WBUF,12) FCLOSE(NROARQ) WHIG=ASC(SUBS(WBUF,5,1)) WLOW=ASC(SUBS(WBUF,6,1)) WLASTREC=(WLOW*256)+WHIG WNKB=ASC(SUBS(WBUF,7,1)) WLASTREC:=WLASTREC+(WNKB*65536) WHIG=ASC(SUBS(WBUF,9,1)) WLOW=ASC(SUBS(WBUF,10,1)) WHEADSIZ=(WLOW*256)+WHIG WHIG=ASC(SUBS(WBUF,11,1)) WLOW=ASC(SUBS(WBUF,12,1)) WRECSIZ=(WLOW*256)+WHIG WCONT:=VAL(STR((WLASTREC*WRECSIZ)+WHEADSIZ,20,8)) IF WCONT#WARQ[1,2] .AND. WCONT+1#WARQ[1,2] RETURN(.F.) ENDIF ENDIF RETURN(.T.) //--------------------------------------------------------------------------------------------- id=code>id=code>abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  22. citação:Olá, Veja a configuração do MySql no Windows. Tem uma configuração que retarda a gravação dos dados no banco id=quote>id=quote>imaginava q fosse algo assim, vou verificar, muito obrigado Evandro... qdo encontrar eu posto aqui... Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  23. up Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  24. um pequeno exemplo, note que tem um timer junto para realizar uma ação... //----------------------------------------------------------------------------------------------- FUNCTION Tray() SET CENTURY ON SET DATE BRIT PRIVATE oApp, oTray, oIcon, oTimer, lUtil:=.F. SET 3DLOOK ON DEFINE WINDOW oApp TITLE "Controle da utilizacao do ECF" ICON oIcon ACTIVATE WINDOW oApp ON INIT ( oApp:Hide() ,; ajustatempo() ,; oTray:=TTrayIcon():New(oApp ,; ".\sendmail.ico" ,; 0 ,; "Envia E-mails do Sistema" ,; .t. ,; NIL ,; {|nRow,nCol| MenuTray(nRow,nCol,oTray)}) ) VALID TRAY_E() RETURN //----------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------- FUNCTION ajustatempo() LOCAL nTpo := (60-val(substr(time(),7,2)))*1000 DEFINE TIMER oTimer OF oApp INTERVAL (nTpo) ACTION ligar() oTimer:activate() ligar() RETURN NIL //----------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------- FUNCTIO Ligar() oTimer:end() DEFINE TIMER oTimer OF oApp INTERVAL 6000 ACTION VerMail() oTimer:activate() RETURN NIL //----------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------- FUNCTION VerMail() oTimer:end() msginfo('aqui minha ação') DEFINE TIMER oTimer OF oApp INTERVAL 6000 ACTION VerMail() oTimer:activate() lUtil:=.F. RETURN //----------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------- FUNCTION MenuTray( nRow,nCol,oTray ) LOCAL oMenu IF !lUtil oTimer:end() MENU oMenu POPUP MENUITEM "Configuração" ACTION .T. SEPARATOR MENUITEM "Fechar Aplicação" ACTION oApp:End() ENDMENU ACTIVATE POPUP oMenu AT nRow,nCol OF oTray:oWnd DEFINE TIMER oTimer OF oApp INTERVAL 6000 ACTION VerMail() oTimer:activate() ENDIF RETURN //----------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------- FUNCTION TRAY_E() oTray:End() oTimer:end() aEVAL(oAPP:aControls,{|var| var:End() }) GlobalFree() ResAllFree() SET 3DLOOK OFF SET RESOURCES TO RETURN(.T.) //----------------------------------------------------------------------------------------------- id=code>id=code>abraço Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
  25. para efeito de atualização dos dados não é necessário agora se vc estiver trabalhando com os comandos nativos do xHarbour (como é o meu caso em alguns programas ainda) o RLOCK() vai estar lá, então ou vc retira todos ou pode ter o problema da demora na resposta Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say
×
×
  • Create New...