PROBLEMA COM ASCII E UNICODE

LUIS.HERRERA 03/09/2010 19:24:18
#352158
Boa noite.
Tenho um sistema em VB6 que ao ser registrado pelo cliente, grava as informações do licenciamento criptografadas, usando os caracteres ASCII dos dados digitados. Funciona 100% a 15 anos.

Porém recentemente estou tendo um problema com um ou outro usuário, em função de como o Windows está configurado. Isso pode fazer com que meu sistema perca o registro (licenciamento), por não conseguir interpretar os dados gravados do cliente. Assim o programa entende que houve uma violação e bloqueia o aplicativo.

Isso aconteceu em 2 clientes até hoje, o primeiro com o Windows Server 2008 que estava configurado com Unicode Inglês, bastou trocar para o português e o problema sumiu.

O segundo, nesta semana, foi identificado numa estação de trabalho com Windows XP.
Este Windows também possui Unicode?

Problemas já identificados e solucionados:
1- Teclado tem que estar no padrão ABNT 2 (português BR), do contrário só se pode registrar o aplicativo com COPIAR e COLAR.
2- Unicode do Windows deve estar obrigatoriamente em Português BR.

Dúvidas:
1- O idioma do Windows tem relação com as configurações regionais ?
2- As configurações Regionais tem alguma relação com UNICODE?
3- Onde se configura o UNICODE do Win XP?

4- Alguém tem alguma idéia de como tratar os dados de licenciamento para não ter problemas com configurações de: UNICODE, IDIOMA, TECLADO, etc...?

obrigado
LUIS.HERRERA 04/09/2010 13:53:32
#352205
Até agora descobrir que o XP SP2 em diante adotou também o Unicode.

O micro que estava dando problema, estava configurado com idioma Inglês, bastou trocar nas configurações regionais do Windows para portuguès e funcionou.

As rotinas para criptografias em meu aplicativo, usam as seguintes funções do VB6:

ASC, HEX, CHR

Não estou consguindo encontrar uma alterantiva para evitar isso, já que o VB6 não trabalha com UNICODE e não teria como trocar todas as rotinas de criptografia.

Ninguém sabe se há alguma forma de pelo VB6 forçar os Windows a usarem UNICODE em português, sem ter de pedir para o TI fazer isso máquina por máquina?

Obrigado.
Tópico encerrado , respostas não são mais permitidas