Ir para conteúdo
  • Cadastre-se

  • Este tópico foi criado há 266 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde. Uso Delphi 7 (VER150) no Windows, com ACBrBoleto/ACBrCompress atual.

A Sicoob API retorna um arquivo ZIP em Base64 dentro do JSON. Eu decodifico para um TMemoryStream e chamo ACBrCompress.DeCompress(inStream, outStream).

Ocorre o erro: “O seu compilador não tem suporte nativo a ZipFile.”
Entendo que isso acontece porque o Delphi 7 não possui System.Zip/TZipFile. Encontrei relatos semelhantes:
https://www.projetoacbr.com.br/forum/topic/45622-delphi-7-erro-o-seu-compilador-não-tem-suporte-nativo-a-zipfile/
 

Sair do Delphi 7 é inviável no momento.
Preciso descompactar ZIP no Delphi 7 sem bibliotecas externas. GZip e ZLib já funcionam; ZIP não.

Sugestão técnica: para D7, condicionalmente salvar o ZIP em %TEMP% e extrair via Shell.Application (COM), copiar o arquivo extraído para o outStream e limpar os temporários. Testei essa abordagem e funcionou.

Perguntas:

  1. Existe alguma forma oficial no ACBr para lidar com ZIP no Delphi 7 que eu possa habilitar?

  2. Caso não exista, vocês aceitam um ajuste condicional para D7 usando o Shell?

Aceito orientações. Obrigado.

ACBrCompress.pas

Postado
Em 26/09/2025 at 15:52, Sawan disse:

Boa tarde. Uso Delphi 7 (VER150) no Windows, com ACBrBoleto/ACBrCompress atual.

A Sicoob API retorna um arquivo ZIP em Base64 dentro do JSON. Eu decodifico para um TMemoryStream e chamo ACBrCompress.DeCompress(inStream, outStream).

Ocorre o erro: “O seu compilador não tem suporte nativo a ZipFile.”
Entendo que isso acontece porque o Delphi 7 não possui System.Zip/TZipFile. Encontrei relatos semelhantes:
https://www.projetoacbr.com.br/forum/topic/45622-delphi-7-erro-o-seu-compilador-não-tem-suporte-nativo-a-zipfile/
 

Sair do Delphi 7 é inviável no momento.
Preciso descompactar ZIP no Delphi 7 sem bibliotecas externas. GZip e ZLib já funcionam; ZIP não.

Sugestão técnica: para D7, condicionalmente salvar o ZIP em %TEMP% e extrair via Shell.Application (COM), copiar o arquivo extraído para o outStream e limpar os temporários. Testei essa abordagem e funcionou.

Perguntas:

  1. Existe alguma forma oficial no ACBr para lidar com ZIP no Delphi 7 que eu possa habilitar?

  2. Caso não exista, vocês aceitam um ajuste condicional para D7 usando o Shell?

Aceito orientações. Obrigado.

ACBrCompress.pas 15.03 kB · 1 download


Já.

No D7, se desativo o define no inc, o código cai na ZLib nativa e dá erro de incompatibilidade (TZCompressionLevel, zcNone, TCompressionStream etc).

// Descomente essa linha, para usar ZLibExGZ de \ACBr\Fontes\Terceiros\ZLibExGZ
// ZLib de D7 contém bugs e está incompleta. Caso contrário usará compactação nativa, unit "ZLib"
{$DEFINE USE_ZLibExGZ}

mas depois é definido

// ZLib em D7 contem muitos bugs e não suporta GZip de forma correta
{$IfNDef FPC}        
 {$IfNDef DELPHIXE2_UP}
  {$Define USE_ZLibExGZ}
 {$EndIf}
{$Else}
 {$UnDef USE_ZLibExGZ} // ZLibExGZ não é compatível com FPC
{$EndIf}

Se deixo ativado, compila, mas não resolve a questão do ZIP da API. "O seu compilador não tem suporte nativo a ZipFile."
Ou seja, a troca de define não resolveu. Existe algum suporte oficial do ACBr pra ZIP no D7 ou não? Pode ser algo só do meu ambiente?

  • Este tópico foi criado há 266 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.

The popup will be closed in 10 segundos...