3 de fev. de 2005

Limitações dos aplicativos Delphi no Windows 9x

Do fórum ClubeDelphi:

Aqui na empresa temos um sistema que atualmente está com 352 forms. O problema é que o programa roda no WinXP e Win2K, mas não roda em Win98. ... As mensagens [de erro] do Windows que aparecem [ao tentar executar o programa] são:
Impossivel executar C:\Programa\Programa.exe
e
Não há memória suficiente para iniciar C:\Programa\Programa.exe. Encerre alguns programas e tente novamente
Porém, se eu retirar dois forms ESPECÍFICOS o programa roda normalmente. Fazendo a depuração no Win98, nem chegar a executar a primeira linha do projeto. E, mais estranho ainda, é que se eu alterar o seu nome de um desses forms o programa roda; se eu voltar o nome original do form, não roda.

Pesquisei o NG da Borland e encontrei esta thread sobre esse problema; em particular, a mensagem 10 dessa thread explica porque mudar o nome do form resolve o problema.

Os pontos importantes dessa thread:

  • No Win98 existe um limite na quantidade e no tamanho total de forms contidos em um arquivo executável (mais precisamente, o limite se aplica aos recursos/resources nomeados contidos no executável). Esse limite não existe no WinNT/Win2K/WinXP.
  • A solução seria dividir o sistema em DLLs/BPLs e assim driblar o limite por arquivo imposto pelo Win98.

Nenhum comentário: