Lazarus, progredindo e ficando mais estável!

Há alguns anos atrás, logo depois de ter adquirido meu primeiro dispositivo com Windows Mobile (eca!), tentei criar uma aplicação simples compatível com Windows CE, para ver o quão difícil seria.

Como nosso Delphi até hoje não tem essa capacidade, e não estava a fim de usar .Net nem qualquer outra linguagem da MS, o caminho mais obvio foi usar o Lazarus/FreePascal, mas sem muito sucesso: inúmeros erros na instalação, compilação, etc.

Ontem, resolvi tentar novamente. Baixei o instalador do Lazarus e do compilador add-on pra WinCE (ambos versões snapshot), e logo de cara me espantei: Ambos instalaram sem qualquer problema!

Em seguida, baixei um exemplo de código feito em Lazarus, para acessar o GPS do PDA. Após baixar algumas units que não estavam incluídas no download do código fonte da aplicação, compilei e rodei normalmente no Windows XP. Configurei então as opções do projeto para gerar código WinCE, compilei novamente, e vualá! Uma aplicação WinCE, sem precisar mudar uma linha de código sequer!

Copiei a aplicação (13MB!!!!) para o PDA, e funcionou logo de primeira! O tamanho do arquivo deixa claro que o FreePascal ainda precisa melhorar nessa área. Felizmente, desligando as opções de informações de debug, o tamanho do arquivo diminuiu para 1.8MB (que diferença! mas fica mais difícil debugar os problemas).

Existe uma biblioteca chamada KOL-CE, que permite criar aplicações GUI para Win32/WinCE que ficam bem menores do que as nativas do Lazarus. No entanto, a última versão do FreePascal tem algumas incompatibilidades com o código da KOL-CE, portanto, não consegui usa-la.

Resolvi escrever minha própria aplicação. Criei um componente para acessar o GPS via porta serial. Compilou de primeira!

Os primeiros problemas começaram com a interface da aplicação:

Fiz uma interface muito simples, com um PageControl, alguns labels, etc. Rodando no Win32, tudo perfeito! Ao gerar para WinCE e jogar no PDA, os labels simplesmente não apareciam! Uma Googlada rápida e descobri que é um bug da versão atual do LCL (equivalente ao VCL do Delphi). Solução gambiarra: inserir um TPanel dentro do TabSheet e colocar os componentes dentro do Panel, fazendo assim com que eles sejam “pintados” na tela. Feito isso, tudo blz!

O que me deixa mais feliz com tudo isso, é ver que o Lazarus/FreePascal tem progredido, apesar que lentamente. O fato de se poder utilizar uma mesma base de código para criar aplicações (inclusive GUI) multi-plataforma, é um sonho de qualquer programador.

A falecida Borland tentou algo nessa área, via Kylix. Infelizmente, não vingou. O FreePascal parece estar no caminho certo. Fico torcendo para que o ritmo de desenvolvimento aumente, e para que a ferramenta fique cada vez mais completa e estável.

Dica:

  1. A nova versão do Lazarus é compatível com arquivos DFM do Delphi.
  2. Apesar da maioria dos comandos, funcões, etc. serem equivalentes ao que estamos acostumados no Delphi, deve-se ficar atento à algumas diferenças, por exemplo: FloatToStr no FreePascal utiliza o DecimalSeparator para fazer a conversão. No Delphi, o “.” é sempre utilizado como separador decimal.
  3. As versões snapshot, apesar de não serem testadas, tem a vantagem de incluirem as correções mais recentes (mas podem incluir novos bugs também).
  4. O FreePascal/Lazarus produz código 64bits (coisa que o Delphi ainda não faz).

PS: Agora preciso descobrir como fazer para gravar audio do microfone do PDA para um arquivo .wav

Share and Enjoy !

Misteriosa "zica" afetando emissão de NF-e

трапезни масиA lei de Murphy está sendo aplicada, aparentemente ao acaso, em alguns computadores que emitem NF-e.

Algumas máquinas, sem razão aparente, e que funcionavam perfeitamente, simplesmente não conseguem mais consultar o webservice da Sefaz, retornando erros como se o serviço estivesse inativo ou inoperante, quando na realidade está totalmente funcional.

Pesquisando no Google, é cada vez maior o número de mensagens de pessoas sofrendo do mesmo problema. Algumas com Windows XP, outras com Windows 7, o que dá a entender que o problema não está especificamente relacionado a versão do Windows usado. Há relatos de pessoas de diferentes Estados, portanto, também não deve estar relacionado à uma Sefaz apenas.

As soluções reportadas não seguem uma lógica específica. Cada um parece conseguir resolver de um jeito (ou talvez seja uma mera coincidência o fato de voltar a funcionar). Entre as soluções reportadas estão:

  • Restaurar as configurações avançadas do Internet Explorer
  • Voltar o horário do computador em uma hora, para o “horário antigo” (nos casos onde haja horário de verão)
  • Habilitar a opção de sincronização da data/hora automaticamente com a internet

Eu tive esse problema em apenas um dos meus clientes, e em apenas uma de suas máquinas. No momento foi resolvido, mas simplesmente não sei qual foi a solução exata, porque o responsável pelo suporte técnico fez diversas operações, desde formatar a máquina, desabilitar o UAC, baixar o nível de segurança do IE, restaurar a configuração padrão, re-instalar os drivers da leitora do cartão do certificado, alterar a hora, remover as últimas atualizações do Windows,  etc. etc.

Enfim, fica aí registrado o mistério. Se alguém tiver alguma luz sobre o assunto e quiser compartilhar, poste um comentário.

Atualização:

Acabei de resolver o problema em um computador que o estava apresentando (Windows 7). O que fiz: Desliguei a opção de sincronizar o relógio com a Internet, e marquei a opção de “atualizar o relógico de acordo com o horário de verão”. Sem essa opção ativada, não ia nem a pau! Que absurdo!

Share and Enjoy !

Mudanças da NF-e 2.0

Para os programadores/sofredores de plantão, que terão que ajustar seus sistemas para a NF-e 2.0, segue dois links com informações sobre as principais mudanças do novo layout:

http://www.robertodiasduarte.com.br/nota-fiscal-eletronica-nf-e-2-00/

http://www.robertodiasduarte.com.br/sped-nf-e-analise-das-mudancas-de-agosto2010/

O último link tem um item no mínimo “curioso”:

2) O DANFE utilizado para acompanhar o trânsito de mercadorias acobertado por NF-e será impresso em uma única via.

Será que o governo vai colocar um fiscal em cada empresa, pra ver se o usuário não clicou no botão de imprimir mais de uma vez? zzZZZ…

Share and Enjoy !

Dicas para quem vai viajar para o exterior

Recentemente, houve mudança na legislação Brasileira, facilitando a entrada de celulares/smartphones, câmeras digitais e relógios no país. Agora, quem viajar pra fora e trazer qualquer um desses itens, fica isento de imposto, e tb não precisa declara-los, portanto, não entram na cota de USD 500 que todo viajante tem direito de trazer sem precisar pagar imposto.

É uma boa notícia (apesar de continuar achando que essa restrição de valor é coisa de país subdesenvolvido mesmo), mas existem uma série de “pegadinhas” que o viajante precisa saber pra não dançar. Sugiro a leitura desse artigo, que dá várias informações sobre o assunto. Detalhe: as mudanças passam a valer a partir de 1 de Outubro de 2010.

Share and Enjoy !

Evento sobre Cloud Computing em SP (free!)

O CloudCamp, é um evento mundial do tipo “desconferência” (unconference), onde pioneiros na adoção do Cloud Computing podem discutir a tecnologia através de um debate mais produtivo. Com as rápidas mudanças que ocorrem no setor, urge a necessidade de um lugar onde experiências, desafios e soluções sejam compartilhadas. Este evento já foi mais realizado, mais 100 vezes em várias cidades do mundo inteiro.
No CloudCamp, o participante é encorajado a compartilhar os seus pensamentos e experiências em vários debates abertos.
Local:
O CloudCamp São Paulo será realizado durante o evento Cloud Summit.
Hotel Novotel São Paulo Jaragua Convention
Rua Martins Fontes 71 – Centro | São Paulo, SP (mapa)
Investimento: Evento Gratuito!

Data: 10 de Agosto, 2010
Agenda do CloudCamp:
2:00pm Credenciamento e Networking
2:30pm Abertura do evento
2:45pm Palestras patrocinadas relâmpago (5 min cada)
3:15pm “Despainel”(Unpanel)
3:45pm Criação das Sessões
4:00pm Primeiro Round
4:45pm Segundo Round
5:30pm Wrap-up(perguntas, insights e encerramento)
5:45pm Fim do evento
Maiores informações e registro em: http://www.cloudcamp.org/saopaulo/2010-08-10

Share and Enjoy !

Desventuras da NF-e

Quem emite NF-e usando o Webservice de SP, provavelmente notou certa instabilidade no serviço, lá pelas 11h da manhã. Um exemplo: meu cliente gerou uma nota fiscal de envio de consignação, e transmitiu para a receita, que recebeu o arquivo, e retornou a mensagem de Lote Processado. No entanto, ao consultar o status da NF (que por sinal, era a única do lote), a Sefaz retornava dizendo que a NF (ou melhor, a chave) não existia na base de dados.

Estranhamente, outras NFs (de venda) emitidas alguns minutos depois, foram autorizadas normalmente, mas até agora, 5h depois de enviada, a NF de consignação continua “perdida” por aí.

Resolvi ligar no 0800 da Sefaz para saber o que estava acontecendo, já que no portal da NF-e, o status do webservice de SP estava “verde”. O atendente disse que estava ciente do problema, e que a nota fiscal não constava na base porque ainda não tinha sido processada, pois estava na fila de “contingência”.

Conversando com outro amigo, também de SP, ele disse que teve o mesmo problema hoje. Essa falha acaba gerando situações inconsistentes:

1) A nota foi transmitida, chegou até a Sefaz, mas não é possível obter qualquer informação sobre o status atual dela, porque simplesmente “não existe na base de dados”, ou seja, eles estão com a nota, mas é como se ela não existisse.

2) O sistema está aparentemente normal, inclusive autorizando outras notas fiscais emitidas depois da problemática.

3) Não é possível cancelar a nota, porque ela “não existe ainda” na base de dados… deve estar “passeando” entre os servidores da Receita… sendo assim, não há como emitir uma nova nota para “substituí-la”.

4) Não existe prazo para que a situação se normalize. O atendente disse que poderia demorar horas ou até dias para a NF aparecer na base da Sefaz.

5) A tentativa de transmitir novamente a NF não gera erro, nem resposta, ou seja, não é autorizada, nem rejeitada.

Enfim, nem todas as empresas estão obrigadas a emitir NF-e nesse momento, mas já dá pra sentir que o sistema tem suas falhas, e que por enquanto só tivemos amostras homeopáticas dos reais problemas que poderemos enfrentar quando alguma coisa realmente séria acontecer com a “internet” ou com a rede/servidores da Receita, ainda mais sabendo que muitas empresas nem se preocuparam em fazer os formulários de segurança, para tentar driblar os dias de caos.

Na sua ânsia de fiscalizar e aumentar ainda mais a arrecadação de impostos, o governo dá a entender que não possui uma estrutura ainda 100% testada e com poder de processamento suficiente para aguentar a demanda.

Share and Enjoy !

1 … 5 6 7 8 9 … 30