Classe para acesso Direto a ECF em Linux/Windows

03/05/2004

0

Ola, para todos....

Estou desenvolvendo uma Classe Multiplataforma para acesso direto a diversas Impressoras Fiscais.

Na verdade o projeto ainda está engatinhando, mas já tive sucesso em Comunicação com a Bematech em Windows e Linux. Entretanto, como muitos programadores também necessitam ou já fazem acesso a ECF, resolvi usar a ideia de tornar isso um projeto OpenSource.

P1 - Porque fazer mais uma biblioteca de acesso a ECF ?
A ideia é fazer uma Classe que possa rodar em Linux / Windows. algo que nao existe hoje.... Alem de não exigir nenhuma DLL ou SO, a fim de evitar o ´inferno das DLL´s´

P2 - Como fazer acesso aos ECFs ?
Como a classe deve rodar em Linux, fica descartado o uso de DLL´s... Todas as impressoras fiscais (pelo menos as que já programei) possuem manuais descrevendo os codigos de comandos e protocolos seriais.
Atualmente acesso as impressoras: Bematech, Daruma, Schalter, Sweda, Mecaf (e compativeis) de forma direta, em DOS, usando a linguagem CLIPPER 5.02e.+Clipper Tools... O Executável não depende de nenhum arquivo externo ou device driver no CONFIG.SYS.
A ideia é migrar as funçoes de Clipper para Delphi, usando um componente de acesso a Serial.

P3 - Qual componente fará acesso a serial ?
Dos que testei, apenas a classe SynaSer http://www.ararat.cz/synapse/ é multiplataforma (Kylix)

P4 - Porque rodar em Linux ?
Já pensou oferecer para os seus clientes uma solução de Aplicacação Comercial totalmente legalizada ? e sem pagar uma fortuna por isso ? Sem falar na estabilidade e segurança do Linux.... Qual usuário consegue apagar o sistema ? (alem do Root é claro :-)

Caracteristicas do projeto:
- Deve ser OpenSource e com a distribuição dos fontes:
- Deve ser Multi-plataforma (Windows ( CLX / VCL ) / Linux)
- Nao deve depender de nehuma DLL ou SO.
- Deve suportar as diferença entre os diversos modelos de ECF
- As Classes Filhas devem tratar de forma transparente as pequenas diferenças na programaçao de Versoes diferente do mesmo Modelo de ECF. Ex: A classe TECFBematech deve ser capaz de trabalhar com todas as versoes da Bematech FI

Vantagens do Projeto:
- Total controle da Aplicação: Já vi DLL´s que simplesmente param o processamento do programa (Quem já homologou TEF discado, sabe o que eu quero dizer...)
- Facil distribuição: Não precisa distribuir e instalar nenhuma DLL
- Livre-se do Inferno das DLL´s Quando o usuário instala outro programa que usa a mesma DLL que você usa, porém em uma versão antiga (causando Bugs no seu programa)
- Multiplataforma: Linux / Windows
- Programação Limpa e Clara. Basta criar uma classe TECF com o modelo apropriado. O Codigo fonte sempre se refere a Classe criada, sem se preocupar com o Modelo

Desvantagens do Projeto:
- Se o hardware mudar, ficamos dependendo de novas informaçoes do fabricante, ou até mesmo de um modelo do equipamento para testes...
- Geralmente as DLL´s incorporam novos Hardwares do mesmo fabricante.... Aqui teremos que implementar um novo filho da classe TECF para cada Hardware novo (somente se o novo hardware nao for compativel com o antigo)

Estou lançando a ideia para ver a aceitação...
Existe algum disposto a colaborar ? Posso enviar os fontes por e-mail para que estiver interessado...
Em breve farei uma pagina para download do projeto... (Ou se alguem estiver disposto a fazer... :-) )


A ser desenvolvido:
- Terminar a implementação da Classe TECFBematech
- Implementar as demais Classes (Daruma, Schalter, Sweda, Mecaf)
- Criar Classe para Manupilação de TEF Discado para interagir com TECF


Na verdade, nunca fiz nenhum projeto OpenSource... Gostaria de sugestões...

Duvidas:
- Como / Onde hospedar o projeto ?
- Como cordernar ?....
- Como fica a questão legal de OpenSource ? É preciso registrar isso em cartório ?


Ps: Srs Moderadores, desculpe postar essa msg em 2 áreas, mas acredito que seja do interesse...


Dopi

Dopi

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar