Clipper On Line • Ver Tópico - Função WIN_OSNETREGOK()

Função WIN_OSNETREGOK()

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Função WIN_OSNETREGOK()

Mensagempor asimoes » 30 Ago 2018 11:46

Prezados,

De onde é essas funções:

TReg32() e IsRegistryKey() ?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Função WIN_OSNETREGOK()

Mensagempor rossine » 30 Ago 2018 13:17

Olá Alexandre,

Ela faz parte da Minigui:

 \minigui\source\h_registry.prg
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Função WIN_OSNETREGOK()

Mensagempor Itamar M. Lins Jr. » 30 Ago 2018 17:50

Ola!
Depois que o Przmek criou o NetIO e Alexader/Elch fez o Letodb[f], essas funções de registro do windows ficaram obsoletas.
Usem o NetIO ou o Letodbf. Os DBF´s Cliente/Servidor real Via TCP. Nem precisa usar o protocolo SMB da M$/SAMBA(linux) para compartilhar DBF´s
Acabam TODOS os problemas de velocidade e mapeamento/travamentos etc pelo windows/samba(linux)
Não muda quase nada na sintaxe para trabalhar com eles.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Função WIN_OSNETREGOK()

Mensagempor Itamar M. Lins Jr. » 30 Ago 2018 23:52

Ola!
Toda essa burocracia do windows faz parte de questões de segurança.
Acredito que sempre haverá a intervenção do usuário nesta parte, quando um programa quer "mexer" no registro do windows.

Microsoft ‘admite’ falha que dá privilégios ao invasor no Windows 10

https://www.tecmundo.com.br/seguranca/133717-microsoft-admite-falha-privilegios-invasor-windows-10.htm

Voltando ao assunto, o NetIO/LetoDb são as únicas opções que temos(gratuitas) e funcionam perfeitamente.
Mapear unidades para compartilhar DBF é um tiro no próprio pé. Agora, pois temos essas ferramentas para uso. Se o uso é standalone (mono usuário) não precisamos nos preocupar "muito" mas o NetIo foi criado principalmente para corrigir essa falha dos RDDś em sistemas operacionais modernos.
Uma coisa é vc "pedir" para algum servidor(NetIO/Letodb), outra coisa é vc "escancarar(leitura/gravação)" a "PASTA" com os DBFś em rede e fazer uso como se fosse "mono usuário". Cedo ou tarde vai corromper ntx/cdx/dbf's mesmo ajustando o registro do windows.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Função WIN_OSNETREGOK()

Mensagempor Daniel » 31 Ago 2018 13:30

ola
voce terá que usar um arquivo "rc ou res" com manifest

Para compilar
hbmk2 %1 arquivo.rc

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <dpiAware>True/PM</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        publicKeyToken="6595b64144ccf1df"
        language="*"
        processorArchitecture="*"/>
    </dependentAssembly>
  </dependency>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="requireAdministrator"
          uiAccess="false"/>
        </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Avatar de usuário

Daniel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 373
Data de registro: 13 Ago 2003 22:42
Cidade/Estado: Apucarana - PR
Curtiu: 0 vez
Mens.Curtidas: 36 vezes

Função WIN_OSNETREGOK()

Mensagempor rossine » 31 Ago 2018 14:06

Olá Itamar,

Sei que aqui no fórum tem vários tópicos falando sobre o NetIO e O LetoDBF e também que vários programadores migraram para NetIO ou LetoDBF, mas a pergunta é o seguinte:

Se eu quiser abandonar o DBFCDX padrão do Harbour e migrar para o LetoDBF, estes problemas de corrompimento de arquivos e arquivos de indices danificados vão diminuir ou praticamente acabar ?

OBS: O meu intuito seria não ter que mudar praticamente nada em meu sistema, usar tudo igual já uso no DBFCDX. Seria só a migração para LetoDBF para evitar estes erros que corrompem nossos sistema.

Obrigado,
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Função WIN_OSNETREGOK()

Mensagempor Itamar M. Lins Jr. » 31 Ago 2018 19:53

Ola!
Se eu quiser abandonar o DBFCDX padrão do Harbour e migrar para o LetoDBF, estes problemas de corrompimento de arquivos e arquivos de indices danificados vão diminuir ou praticamente acabar ?


Ai é que está esse mal entendido, porque não vai mudar vai continuar usando o mesmíssimo "DBFCDX/NTX"
Eu nem sei mais o que é arquivo corrompido, sem falar na velocidade.
REQUEST LETO
#include "rddleto.ch"

function main
cPath:="//localhost:2812/"
If leto_Connect( cPath ) == -1
? "error..", , leto_Connect_Err(), leto_Connect_Err( .T. )
endif

E trocar file() por leto_file() no caso de procurar dbf no servidor... tem outras funções iguais, mas que enxergam tudo do lado do servidor.
Vc pede ao LetoDb as coisas e ele faz como se fosse em uma maquina local.
Leto_memowrite(), etc...
Mas nós continuamos usando os comandos para DBF sem mudar nada.
use arquivo.dbf //vai abrir o DBF lá no endereço TCP onde está rodando o LetoDB ou NetIO...
close
select
cAlias->(DbSKip())
append blank...
etc
Vai indexar da mesma forma
index on ... para NTX
index on TAG .. para CDX

etc... Não muda nada, bem eu uso o LetoDbf, por isso coloco exemplos de uso dele. Mas com NetIO o José Quintas usa e disse também que nunca deu problema.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Função WIN_OSNETREGOK()

Mensagempor fladimir » 31 Ago 2018 20:09

Uso terminal services a quase 10 anos e não tenho problemas de mapeamento, índices, comrromper tabelas etc.

Testei o leto e o netio tive problemas com índices temporários

E mesmo em rotinas sem índices temporários o TS foi superior em desempenho.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Função WIN_OSNETREGOK()

Mensagempor Itamar M. Lins Jr. » 31 Ago 2018 20:19

Ola!
Como é que vc faz um relatório de mercadorias (kardex) entre duas filiais ou mais ? Ou verifica o débito de um cliente que compra em lojas diferente e escolhe qualquer loja para pagar/comprar no crediário ? usando DBF ?

Testei o leto e o netio tive problemas com índices temporários

Reportou o BUG para os desenvolvedores ?

Eu uso WTS também em conjunto, mas WTS não faz mágica.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Função WIN_OSNETREGOK()

Mensagempor Itamar M. Lins Jr. » 31 Ago 2018 20:29

Ola!
Outra coisa do WTS, uma loja com 20 funcionários vai criar 20 usuários ? como é que isso é feito ?
Com LetoDbf ou NetIO a porta: "192.168..." está lá é só usar. Quem trabalha com SQL sabe muito bem a facilidade que é.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Função WIN_OSNETREGOK()

Mensagempor janio » 31 Ago 2018 21:48

Eu fiz assim:


E funcionou?
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Função WIN_OSNETREGOK()

Mensagempor fladimir » 01 Set 2018 09:44

Em resposta ao Itamar, não trabalho com multiempresas, entendo q nesse cenário o Banco de Dados ou LetoDB/NetIO para DBF se encaixa melhor com essas particulariedades q vc citou nos questionamentos de relatórios multiempresa, clientes pagando em qualquer loja etc.

Só quis contribuir com minha experiência/realidade dentro do meu caso/cenário, o WTS se mostrou mais rápido em comparação ao LetoDB/NetIO.
E pensando em multiempresa, até pensei, na época, em usar o LetoDB para um projetinho aki nesse sentido, mas devido aos problemas com índices temporários q não reportei aos desenvolvedores, pq mudei de linguagem (permaneço com o Harbour para manter projetos anteriores)
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Função WIN_OSNETREGOK()

Mensagempor Itamar M. Lins Jr. » 01 Set 2018 12:06

Ola!
devido aos problemas com índices temporários

Pois é né !?
Eu uso índices temporário muito mesmo, penso que a maioria dos relatórios.. Inclusive com o tal "mem:"
Fica parecendo que o que escrevo não tem validade... porque um dia "no passado distante" vc achou um erro no LetoDb etc... Mas e neste momento como vc usa o LetoDBf ? Meu caso que estou postando aqui. Vc testou "neste momento" se o erro que vc encontrou ocorre com o LetoDbf ?
Eu uso em diversos cenários o LetoDbf, encontramos problemas reportamos ao Elch e ele tem corrigido... Vamos progredindo, devagar as vezes.
Senão ficará invalidando as opções que nós outros, neste momento usamos.
WTS é pago para multi usuários, a não ser que use um CRACK, já com Win10 temos um gratuito etc... Mas não é uma opção da M$, se quiser usar da M$ tem que pagar.
Eu procuro mostrar opções "viáveis" gratuitas de preferência, "open source" que qualquer pessoa poderá usar com um mínimo de conhecimento.
Se vamos sair das opções "open source" e vamos entrar no outro cenário o pago temos também milhares de opções.
Se tiver opções melhores que sejam "open source" gostaríamos de saber.

O quem tenho conhecimento no momento, é que não existe melhor forma de trabalhar com DBF "para quem usar Harbour" do que usar NetIO ou LetoDbf.

Ps. Ultima alteração no LetoDbf foi 2018-08-30 19:59.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Função WIN_OSNETREGOK()

Mensagempor fladimir » 01 Set 2018 12:43

Tem razão Itamar, talvez meu comentário tenha mais atrapalhado do q ajudado, peço desculpa aos colegas.

Pra efeito de colaboração vou testar a rotina em q testei q deu problema nos indices temporarios no meu cenário com a última versão q vc comentou e posto aki o resultado, se der problema vejo contigo o link / como faço pra passar aos desenvolvedores para q eles possam avaliar, pq não é pq não tenho usado q não posso contribuir em melhorar para os q optarem por essa solução.

Abraço.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Anterior



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google Adsense [Bot] e 3 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro