Ajustei um programa de clipper para Harbour 3.2+minigui.
Funcionou beleza... Ajustei impressão para printers do windows legal....
Agora estou tentando colocar o LetoDB em ação... fiz uns ajustes nas rotinas de abertura de DBF, instalei o LetoDB como serviço do windows ... funcionou certinho... os exemplos de testes que vem com ele também funciona beleza... Mas....
Aà vem a dificuldade kkk... O meu programa abre quase 70 tabelas... e com o LetoDB vai abrindo beleza diversas tabelas... uma delas com 24Mb... mas quando chega em uma tabela especifica não abre de jeito nenhum e aparece mensagem de erro APPCRASH do windows...
Firewall desativado
Antivirus desativado
Abre normalmente 22 tabelas, e só aparece o erro quando chega em uma tabela especifica com nome DT_EST.DBF
O mais escabroso vem agora... fiz um teste e abri essa tabela através do test_dbf.prg que vem na pasta de testes do letodb, e ali abre a tabela normalmente...
Comparei tudo nos 2 prgs para identificar alguma diferença... nada encontrado...
Comparei os scripts de linkedição... nada de diferente encontrado...
linkei os 2 prgs com os mesmos scripts... no test_dbf(exemplo letodb) funciona, mas no meu prg não abre de jeito nenhum...
Alguém tem alguma luz lá do fim do túnel ?? kkk
Segue os 2 códigos para as opiniões dos amigos :
// Esse é o codigo do meu sistema que nao abre a determinada tabela.
// Nesse exemplo está abrindo apenas a tabela problematica...
REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850
REQUEST HB_GT_WVT_DEFAULT
REQUEST LETO
REQUEST DBFCDX
#include "\p\clip53\include\inkey.ch"
#include "\p\clip53\include\llibg.ch"
#include "\p\clip53\include\Fileio.ch"
#include "\p\clip53\include\SET.ch"
#include "hmg.ch"
#include <minigui.ch>
#include "hbgtinfo.ch"
#include "dbinfo.ch"
function Main()
parameters ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8, ARG9, ARG10, ARG11, ARG12, ARG13, ARG14, ARG15, ARG16, ARG17, ARG18, ARG19, ARG20, ARG21, ARG22, ARG23, ARG24, ARG25
local OPCAO,TELA_DOS
local TOTCTA := 25
rddsetdefault("LETO")
use ("//127.0.0.1:2812/dt_Est")
@ 00, 00 say reccount()
inkey(0)
Agora o código extraÃdo do TEST_DBF.PRG que acompanha o letodb na pasta Tests, alterei para abrir a mesma tabela no finalzinho dele pra testar...
/*
* This sample tests working with dbf files
* Just change the cPath value to that one you need.
*/
REQUEST LETO
REQUEST DBFCDX
#include "dbinfo.ch"
Function Main( cPath )
LOCAL aNames := { "Petr", "Ivan", "Alexander", "Pavel", "Alexey", "Elch", ;
"Konstantin", "Vladimir", "Nikolay", "Andrey", "Dmitry", "Sergey" }
LOCAL i, aStru, aServerDriver
LOCAL nPort := 2812
FIELD NAME, NUM, INFO, DINFO, MINFO, TINFO
ALTD()
SET DATE FORMAT "dd/mm/yy"
IF Empty( cPath )
//cPath := "//127.0.0.1:2812/"
cPath := ""
RDDSETDEFAULT( "DBFCDX" )
ELSE
cPath := "//" + cPath + IiF( ":" $ cPath, "", ":" + ALLTRIM( STR( nPort ) ) )
cPath += Iif( Right(cPath,1) == "/", "", "/" )
RDDSETDEFAULT( "LETO" )
ENDIF
IF leto_Connect( cPath, /*user*/, /*pass*/, /*timeout*/, /*hot buffer*/ ) == -1
ALERT("NO LETODB SERVER FOUND - Fehler: " + leto_Connect_Err( .T. ) )
QUIT
ELSE
? LETO_GetServerVersion(), " at address: ", Leto_getLocalIP( .T. )
// LETO_DBDRIVER( "DBFCDX", "SMT", 512 )
LETO_DBDRIVER( "DBFNTX", "SMT", 512 )
/* alternative: RddInfo( RDDI_MEMOTYPE, DB_MEMO_SMT ); RddInfo( RDDI_MEMOBLOCKSIZE, 512 ) */
? "DBF DATABASE DRIVER :", LETO_DBDRIVER()[ 1 ], "MEMOTYPE:", LETO_DBDRIVER()[ 2 ]
LETO_TOGGLEZIP( 1 )
? "NETWORK TRAFFIC COMPRESSION:", Iif( LETO_TOGGLEZIP() > 0, "ON", "OFF" )
ENDIF
LETO_DBDRIVER( "DBFCDX", "SMT", 512 )
use ("//127.0.0.1:2812/dt_Est" )
@ 00, 00 say reccount()
inkey(0)
Aguardo ansioso um pulo do gato kkk
Abraços.
X:)