Mostrando postagens com marcador windows ce. Mostrar todas as postagens
Mostrando postagens com marcador windows ce. Mostrar todas as postagens

sexta-feira, agosto 14, 2009

Symbol Barcode Reader :: Erro CoreDLL.dll

Ao desenvolver minha aplicação para Windows CE tive um problema com o leitor de código de barras do aparelho Morotola Symbol M1000, ele não lia a codificação I2OF5. Depois de muita pesquisa na web consegui com sucesso juntar várias pistas pra chegar a uma solução.

O que acontece é que por padrão a codificação I2OF5 vem com os valores MaximumLength e MinimumLength alterados para não dar conflito com outra codificação. Dae apara faze-la funcionar seria só mudar os parametros e ok... bem, quase isso. Primeiro tentei o seguinte:
Reader reader = new Reader();
reader = bcLeitor.Reader;
reader.Decoders.I2OF5.MinimumLength = 10;
reader.Decoders.I2OF5.MaximumLength = 16;
reader.Decoders.I2OF5.CheckDigitScheme = I2OF5.CheckDigitSchemes.None;
reader.Decoders.I2OF5.ConvertToEAN13 = false;
reader.Decoders.I2OF5.Redundancy = false;
reader.Decoders.I2OF5.ReportCheckDigit = false;
bcLeitor.Reader = reader;
Mas sem sucesso, o erro "Não é possível carregar a DLL 'CoreDLL.dll'" persistia. Então descobri que não é possível criar um novo Reader, pelo menos não assim. E alterei o código para:

Reader reader = null;
reader = bcLeitor.Reader;

reader.Decoders.I2OF5.MinimumLength = 10;
reader.Decoders.I2OF5.MaximumLength = 16;
reader.Decoders.I2OF5.CheckDigitScheme = I2OF5.CheckDigitSchemes.None;
reader.Decoders.I2OF5.ConvertToEAN13 = false;
reader.Decoders.I2OF5.Redundancy = false;
reader.Decoders.I2OF5.ReportCheckDigit = false;
reader.Changes.Save();
reader.Actions.SetParameters();
E não tive mais problema com a DLL e nem com a leitura do código.

quinta-feira, agosto 06, 2009

Windows CE Application

Farei uma abordagem de um aplicativo para Windows CE utilizando o Visual Studio 2008 e o Framework 2.0 e em breve tutorial de como fazer deploy para um dispositivo movel e algumas dicas do erros mais comuns.

Inicialmente é preciso intalar:
  • ActiveSync para Windows XP ou o Windows Mobile Device Center para Windows Vista.
  • .Net Framework 2.0 ou superior, no PC e no dispositivo o Compact Framework.
Dica: Caso não instale o Compact Framework no dispositivo, ao rodar a aplicação aparecerá um erro de falta de componentes. Isso pode ser uma DLL do projeto faltando ou até o Compact Framework. No meu caso tive esse problema, o único erro que aparecia era esse número 0x89731705 ainda não sei exatamente se ele se refere a falta de componente ou a falta de espaço no disco quando tentava instalar o CF.

Feito isso basta desenvolver o aplicativo e fazer o deploy. Algumas configurações úteis para o deploy.

Em propriedades, devices, verifique:
  • Target Device está selecionado corretamente.
  • Output file folder está selecionado para o local correto onde a aplicação será copiada.
  • Remova o check Deploy the lastest cersion of .net compat.... (no meu caso, ao selecionar essa opção o VS copia o CF.cab - intalador - para dentro da pasta windows e como não tenho espaço livre deixei para instalar o CF direto do dispositivo).
Depois de ajustar as propriedades isso é só fazer o deploy e rodar a aplicação. Não esqueça de instalar o Compact Framework!

Uma dica muito útil é instalar o Remote Display Control, pra poder acessar o dispositivo remotamente, ainda mais quando se trata de um coletor com poucas teclas e sem touch screen.