letodb xharbour 1.2.3 + BCC72
Moderador: Moderadores
-
paiva_dbdc
- Usuário Nível 3

- Mensagens: 342
- Registrado em: 12 Nov 2012 09:58
- Localização: uberlandia mg
letodb xharbour 1.2.3 + BCC72
BOM dia
pode-se gerar a RDDLETO.LIB com eles ?
auguem usa ?
poderia explicar como gerar ?
desde já agradeço
Paiva
pode-se gerar a RDDLETO.LIB com eles ?
auguem usa ?
poderia explicar como gerar ?
desde já agradeço
Paiva
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
letodb xharbour 1.2.3 + BCC72
Ola!
Lendo o manual, vc gera a LIB.
O Servidor(LetoDbf.exe) tem que ser pelo Harbour.
Saudações,
Itamar M. Lins Jr.
Lendo o manual, vc gera a LIB.
O Servidor(LetoDbf.exe) tem que ser pelo Harbour.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
letodb xharbour 1.2.3 + BCC72
Ola!
Baixe o LetoDbf pelo git e compile apenas a LIB pelo xbp.
Saudações,
Itamar M. lIns Jr.
Baixe o LetoDbf pelo git e compile apenas a LIB pelo xbp.
Código: Selecionar todos
2.5 xHarbour
SERVER: the server itself must be build with Harbour, cannot be done with xHB.
Same applies for utils like console monitor.
CLIENT: client library (RDD) can be build with xHarbour, use the 'rddleto.lib.xbp' definition for
xBuilder. For Windows ( but not for XCC ), it will by default use a second thread ( without HVM ),
so the executable must be linked with a library containing '_beginthreadex()'.
cFlag define: LETO_NO_THREAD=1 set for xHB will disable this and the need for threading function,
[ C-compiler: note that xBuilder doesn't store used C-compiler -- change it on demand.
XCC: can't compile 3rd party 'lz4.c', compile it with PellesC >= 4.5 manually,
and replace it in list of files for xBuilder with resulting 'lz4.obj':
pocc.exe -Fo"obj\lz4.obj" -Ot -I"include" -I"source\3rd\lz4\lib" -I%PATH_XHB%"\include"
-I%PATH_POCC%"\Include" -I%PATH_POCC%"\include\Win" "source\3rd\lz4\lib\lz4.c"
]
DEMO: one single demo 'test_mem.exe.xbp' is designed and tested with PellesC ( POCC ) V8.0 [ >= 6.0 ]
For this lib 'crtmt.lib' is in link list, other C-compiler may replace that "crtmt.lib" with one of
their distribution ( cw32mt.lib, libcmt.lib .. )
XCC, and RDD lib with disabled thread have to remove library from list.
Same way you can build other examples "test_[func|filt|dbf|dbfe|var|file]"
YOUR APP:
like above demo: link a MultiThread C runtime lib,
#include "rddleto.ch" for each '.prg' of a xHB LetoDBf project by xHB switch: "/u+rddleto.ch".
One source file of your project, i suggest that with function main() and Leto_Connect(),
should: REQUEST LETO
(*) Codepage-names of xHB and server build with Harbour may be different, that needs to
set up a 'name translation table' -- see LETO_ADDCDPTRANSLATE()
Itamar M. lIns Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
letodb xharbour 1.2.3 + BCC72
Ola!
Basta clonar no GIT.
E compilar.
Só isso, não inventar moda, com milhões de sets e bats.
A única coisa que tem no meu é colocar o GCC no PATH. No caso ai do seu é colocar o BCC7x
Não tem hbmk2.exe, então use o BAT para BCC.
Itamar M. Lins Jr.
Basta clonar no GIT.
Código: Selecionar todos
C:\>git clone https://github.com/elchs/LetoDBf.git letodbf
Cloning into 'letodbf'...
remote: Enumerating objects: 2652, done.
remote: Total 2652 (delta 0), reused 0 (delta 0), pack-reused 2652 eceiving objects: 98% (259
Receiving objects: 100% (2652/2652), 2.08 MiB | 3.00 MiB/s, done.
Resolving deltas: 100% (2086/2086), done.
Código: Selecionar todos
C:\letodbf>hbmk2 rddleto.hbp
C:\letodbf>dir lib
O volume na unidade C não tem nome.
O Número de Série do Volume é 906B-7B11
Pasta de C:\letodbf\lib
24/07/2020 18:03 <DIR> .
24/07/2020 18:03 <DIR> ..
24/07/2020 18:03 456.576 librddleto.a
1 arquivo(s) 456.576 bytes
A única coisa que tem no meu é colocar o GCC no PATH. No caso ai do seu é colocar o BCC7x
Não tem hbmk2.exe, então use o BAT para BCC.
Saudações,make_b32.bat
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
letodb xharbour 1.2.3 + BCC72
Ola!
Servidor LetoDbf compilado em 64Bits. Tanto faz a sua LIB ser Xharbour ou Harbour 32Bits, BCC/GCC etc que funciona.
Saudações,
Itamar M. Lins Jr.
Servidor LetoDbf compilado em 64Bits. Tanto faz a sua LIB ser Xharbour ou Harbour 32Bits, BCC/GCC etc que funciona.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
paiva_dbdc
- Usuário Nível 3

- Mensagens: 342
- Registrado em: 12 Nov 2012 09:58
- Localização: uberlandia mg
letodb xharbour 1.2.3 + BCC72
DUVIDA: rs
posso re-inder uma arquivo com um campo no indice vindo de outro arquivo ? relacionado ?
ex: index on empresa+filial+produto->nome+codigo ....
o letodb só funciona gerenciando PASTAS ? ou seja... Não posso mandar ele gerenciar C: ou D: por exemplo
paiva
posso re-inder uma arquivo com um campo no indice vindo de outro arquivo ? relacionado ?
ex: index on empresa+filial+produto->nome+codigo ....
o letodb só funciona gerenciando PASTAS ? ou seja... Não posso mandar ele gerenciar C: ou D: por exemplo
paiva
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
letodb xharbour 1.2.3 + BCC72
Ola!
Vai liberar a RAIZ da unidade ? para gravar os DBF na RAIZ ?
Nenhum servidor enxerga as variáveis do lado cliente.
quando for indexar:
Tudo da mesma forma não muda nada.
Saudações,
Itamar M. Lins Jr.
C:,D: etc são pastas! Só que RAIZ.o letodb só funciona gerenciando PASTAS ? ou seja... Não posso mandar ele gerenciar C: ou D: por exemplo
Vai liberar a RAIZ da unidade ? para gravar os DBF na RAIZ ?
Nenhum servidor enxerga as variáveis do lado cliente.
quando for indexar:
Código: Selecionar todos
index on field->cliente...Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
paiva_dbdc
- Usuário Nível 3

- Mensagens: 342
- Registrado em: 12 Nov 2012 09:58
- Localização: uberlandia mg
letodb xharbour 1.2.3 + BCC72
Itamar, boa noite
deixa eu explicar melhor.
todos clientes tem \dbdc e uma pasta onde fica as bases de dados \usr\sfa (normalmente)
99% tem a pasta \paiva com um dbf sdata.dbf (data do sistema criptografada)
o \paiva poderia mudar para \dbdc por exemplo ++++++ mesmo assim tenho 2 pastas de trabalho \dbdc\ e \usr\sfa (que pode mudar ...)
pelo que entendi teria que ter DOIS letodb com 2 portas liberadas e cada UM dele apontando para uma determinada pasta.
então: se puder ser c: ou D: ou E: ou qq HD eu teria somente UM letodb uma Unica porta liberada e poderia acessar qq pasta
tipo : c:\dbdc c:\usr\sfa c:\paiva ou .... d:\...... se fosse outro HD
por ser a RAIZ do HD pesaria no processamento ?
assim que eu conseguir acessar as base vou ver se a re-indexação com campos relacionados funciona aqui.
se um terminal acessar o servidor pelo letodb outro terminal ou até mesmo servidor Não vai poder acessar a mesma base sem ser pelo letodb correto ?
se for assim se por acaso algum terminal Não conseguir se conectar ao letodb eu Não poderei deixar ele trabalhar com o DBF ?
ou seja teria que avisar que não conectou e sair do sistema ?
desde já agradeço
deixa eu explicar melhor.
todos clientes tem \dbdc e uma pasta onde fica as bases de dados \usr\sfa (normalmente)
99% tem a pasta \paiva com um dbf sdata.dbf (data do sistema criptografada)
o \paiva poderia mudar para \dbdc por exemplo ++++++ mesmo assim tenho 2 pastas de trabalho \dbdc\ e \usr\sfa (que pode mudar ...)
pelo que entendi teria que ter DOIS letodb com 2 portas liberadas e cada UM dele apontando para uma determinada pasta.
então: se puder ser c: ou D: ou E: ou qq HD eu teria somente UM letodb uma Unica porta liberada e poderia acessar qq pasta
tipo : c:\dbdc c:\usr\sfa c:\paiva ou .... d:\...... se fosse outro HD
por ser a RAIZ do HD pesaria no processamento ?
assim que eu conseguir acessar as base vou ver se a re-indexação com campos relacionados funciona aqui.
se um terminal acessar o servidor pelo letodb outro terminal ou até mesmo servidor Não vai poder acessar a mesma base sem ser pelo letodb correto ?
se for assim se por acaso algum terminal Não conseguir se conectar ao letodb eu Não poderei deixar ele trabalhar com o DBF ?
ou seja teria que avisar que não conectou e sair do sistema ?
desde já agradeço
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
letodb xharbour 1.2.3 + BCC72
Se entendi direito... o acesso a DBF e índices vai ser pelo letodb, pela(s) RDD(s) existente(s) no letodb.
Caso use a versão Harbour do letodb, confirme se vai ser compatível com XHarbour, antes de usar simultâneo.
Por exemplo, o bloqueio no servidor poderia ser 64 bits, o que não seria compatível com os terminais pra acessar simultâneo sem o letodb.
Lembro de um que bloqueia acesso por terminais, não sei se é o letodb, provavelmente por isso.
Se for igual o hbnetio, seria por pasta relativa à raiz definida no servidor.
Se instalar/configurar o hbnetio pra trabalhar em c:\nomepasta, se tentar abrir \arquivo.dbf, será aberto o de c:\nomepasta\arquivo.dbf
De certa forma, como se fosse o mapeamento do Windows, que mapeia uma pasta pra Z:, mas o hbnetio mapeia como raiz.
Não tem acesso fora dela, mas pode criar subpastas normalmente.
Citei o hbnetio como exemplo, ele é inferior ao letodb, mas é o único que conheço/uso.
Talvez o letodb faça igual, e não precise de dois servidores.
E talvez ninguém tenha tentado usar assim, e pode ser que o letodb aceite.
Caso use a versão Harbour do letodb, confirme se vai ser compatível com XHarbour, antes de usar simultâneo.
Por exemplo, o bloqueio no servidor poderia ser 64 bits, o que não seria compatível com os terminais pra acessar simultâneo sem o letodb.
Lembro de um que bloqueia acesso por terminais, não sei se é o letodb, provavelmente por isso.
Se for igual o hbnetio, seria por pasta relativa à raiz definida no servidor.
Se instalar/configurar o hbnetio pra trabalhar em c:\nomepasta, se tentar abrir \arquivo.dbf, será aberto o de c:\nomepasta\arquivo.dbf
De certa forma, como se fosse o mapeamento do Windows, que mapeia uma pasta pra Z:, mas o hbnetio mapeia como raiz.
Não tem acesso fora dela, mas pode criar subpastas normalmente.
Citei o hbnetio como exemplo, ele é inferior ao letodb, mas é o único que conheço/uso.
Talvez o letodb faça igual, e não precise de dois servidores.
E talvez ninguém tenha tentado usar assim, e pode ser que o letodb aceite.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
letodb xharbour 1.2.3 + BCC72
Ola!
Isso fica a seu critério.
Melhor fazer uma reconfiguração e usar C:\BaseDados\Pasta_a e c:\BaseDados\Pasta_b...
Se colocar c:\ para o letodbf enxergar, vai funcionar também abrindo as subpastas, mesmo que não crie nada na raiz c:\
Tem programa em Delphi, etc, sem ser feito com o Harbour que acessa a base DBF ?
Porém pela suas perguntas, vejo que vc nem começou... Pq eu mesmo não consegui usar o xHarbour para gerar a rddletodb.lib usand o BCC7.3
O 7.2 nem achei para download. Melhor sair do xHarbour se deseja usar LetoDbf.
Saudações,
Itamar M. Lins Jr.
Isso fica a seu critério.
Melhor fazer uma reconfiguração e usar C:\BaseDados\Pasta_a e c:\BaseDados\Pasta_b...
Se colocar c:\ para o letodbf enxergar, vai funcionar também abrindo as subpastas, mesmo que não crie nada na raiz c:\
Qualquer comando e ou função do RDD_DBF do harbour funciona.vou ver se a re-indexação com campos relacionados funciona aqui.
Vai poder acessar sim, vc pode liberar o acesso para outros programas. Vai depender da configuração do LetoDbf.se um terminal acessar o servidor pelo letodb outro terminal ou até mesmo servidor Não vai poder acessar a mesma base sem ser pelo letodb correto ?
Tem programa em Delphi, etc, sem ser feito com o Harbour que acessa a base DBF ?
Porém pela suas perguntas, vejo que vc nem começou... Pq eu mesmo não consegui usar o xHarbour para gerar a rddletodb.lib usand o BCC7.3
O 7.2 nem achei para download. Melhor sair do xHarbour se deseja usar LetoDbf.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
letodb xharbour 1.2.3 + BCC72
Ola
Estou iniciando estudos no letodbf para xHarbour, peguei exemplos aqui no site, esta dando erro, ja pesquisei e nao encontrei solucao, peço ajuda aos colegas, estou usando o xHarbour 1.2.1 e bcc551.
Se alguem puder passar um link com o xharbour 1.2.1 + bcc551 + letodb compilado com .exe , .lib , .ch , agradeço.
Obrigado a todos que puderem ajudar.
O codigo é este:
#include "inkey.ch"
#include "rddleto.ch"
function main()
cls
RDDSETDEFAULT("LETO")
leto_Connect( '//localhost:2812/' ) // ou o IP onde está os DBF´s com o LETO 192.168.10.10 por exemplo, no lugar de localhost.
return(.t.)
O erro é este:
Estou iniciando estudos no letodbf para xHarbour, peguei exemplos aqui no site, esta dando erro, ja pesquisei e nao encontrei solucao, peço ajuda aos colegas, estou usando o xHarbour 1.2.1 e bcc551.
Se alguem puder passar um link com o xharbour 1.2.1 + bcc551 + letodb compilado com .exe , .lib , .ch , agradeço.
Obrigado a todos que puderem ajudar.
O codigo é este:
#include "inkey.ch"
#include "rddleto.ch"
function main()
cls
RDDSETDEFAULT("LETO")
leto_Connect( '//localhost:2812/' ) // ou o IP onde está os DBF´s com o LETO 192.168.10.10 por exemplo, no lugar de localhost.
return(.t.)
O erro é este:
