Ir para conteúdo
  • Cadastre-se

bylaardt

Membros
  • Total de ítens

    28
  • Registro em

  • Última visita

Tudo que bylaardt postou

  1. Oi Daniel, O problema ocorre quando faço a compilação cruzada de linux para windows. quanto ao "jamais compilaria no linux". sim ele compila no linux: para windows, através de compilação cruzada, com algumas pequenas alterações. Um fork seria uma solução, mas parece-me que a preferência será escrever as rotinas do zero para evitar um inchaço (code bloat). Em caso de reaproveitamento de parte dos código: sim, a licença será respeitada, apesar de preferir escrever meus códigos como domínio publico. Meu foco é na administração de condomínios, e a exigência da vez é o Reinf, e por isso comecei a estudar os padrões/códigos do ACBr. Até então, ouvia falar do ACBr mas nunca tive uma necessidade real em usá-lo, mas sempre me foi bem recomendado, e agora, estudando seus códigos, vejo o quão eles avançados eles estão.
  2. Recentemente comecei a estudar os códigos do projeto ACBR, mas precisei alterar uma série de coisas para que funcionasse em linux, dentre elas: 1) alteração do padrão do arquivo para UTF8, por exemplo, a função tiraacentos: function TiraAcentos( const AString : String ) : String ; const SearchFor='ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ'; Change_To ='AAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy'; var subtext:string; s1:integer; LengLoop,LengTxt,posx:longint; begin result:=''; LengTXT:=Length(AString); LengLoop:=1; while LengLoop<=LengTxt do begin case AString[LengLoop] of #000..#191: s1:=1; #192..#223: s1:=2; #224..#239: s1:=3; #240..#247: s1:=4; #248..#251: s1:=5; #252..#254: s1:=6; #255 : s1:=7; end; if s1=1 then result:=result+AString[LengLoop] else begin subtext:=copy(AString,LengLoop,s1); posx:=UTF8Pos(subtext,SearchFor); if posx>0 then result:=result+Change_To[posx] else if subtext='ß' then result:=result+'ss' else if subtext='æ' then result:=result+'ae' else if subtext='Æ' then result:=result+'AE' end; LengLoop:=LengLoop+s1; end end; 2) Salvar os arquivos em formato UTF8: Sim, os arquivos fontes estão gravados no formato ISO8859-15: formato obsoleto anterior ao unicode. 3) Acrescentar alguns arquivos aos pacotes, e colocar diretivas de compilação nos arquivos: Pacotes como ACBrDFeComum, precisam do arquivo para ACBrDFeWinCrypt.pas, mas esse não está na incluído no pacote, apenas no caminho de pesquisa. Quando se instala esse pacote no Lazarus para linux, ele não é incluído, por conta da diretiva de compilação {$IfDef MSWINDOWS}, mas na compilação cruzada, ele é necessário, e não consegue ser localizado. Solução, incluir o arquivo no pacote e colocar as diretivas de compilação no arquivo ACBrDFeWinCrypt.pas, Posto o acima, pergunto: 1) A Comunidade ACBr tem interesse em manter a compatibilidade com lazarus para linux, ou será necessário criar um fork? 2) Em caso de fazer um FORK funcional para Linux com compilação cruzada para FreeBSD, Windows e Solaris, como faço para obter os registros de alterações/inclusões com o intúito de manter um mínimo de compatibilidade com os componentes ACBr? 3) Em caso de interesse em criar compatibilidade com o linux e o crosscompile, quem será o contato para que se envie as alterações? 4) Não uso Delphi, e vejo que há muito interesse em manter a compatibilidade com o D7, apesar dele não suportar Unicode. Há muito que já se havia anunciado o término de suporte do ACBr ao D7, mas isso ainda não ocorreu. Em caso de não ser criado um fork para compatibilidade Linux, será necessário criar um fork para manter a compatibilidade com o D7?
  3. Mesmo erro aqui Usando lazarus 1.6.4; FPC 3.0.2; OpenSSL : ACBrDFe\ACBrDFeXsXmlSec.pas linha 592.
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.