Fórum Problema no Win98 #266528

28/01/2005

0

Caros colegas,

Eis um dos problemas mais ´cabeludos´ que já peguei: 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. Já ocorreram duas mensagens de erro no Delphi: ´Unable to create process: Espaço insuficiente de armazenamento para processar este comando´ e ´Unable create process: Foi feita uma tentativa de carregar um programa com um formato incorreto´. As mensagens do windows que aparecem 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 98, nem chegar a executar a primeira linha do projeto. E, mais estranho ainda é que em um desses form´s, se eu alterar o seu nome, o programa roda; seu eu deixar o nome normal não roda.

Já fiz um infinidade de testes e não consegui resolver o problema.

Alguém já passou por isso ou sabe de algo que possa me ajudar??

Desde já agradeço, :D


Weverton

Weverton

Responder

Posts

28/01/2005

Gandalf.nho

Tem algum componente incomum nesses 2 forms problemáticos? Qual o nome do form que está causando problemas?


Responder

Gostei + 0

28/01/2005

Denis

Uma outra coisa. Vc. está deixando o delphi criar os forms automaticamente quando inicia o sistema ? É bom criar o form e depois que usou limpar ele da memória. Isso tbm ajuda bem a economizar memória.


Responder

Gostei + 0

28/01/2005

Weverton

Nenhum componente incomum. Usa os mesmos componentes dos demais forms do programa. O nome é frmParDarDF. Seu eu mudar para frmDar, funciona.


Responder

Gostei + 0

28/01/2005

Weverton

São criados automaticamente somente os DataModules e o form principal. Todos os demais forms são criados em tempo de execução.


Responder

Gostei + 0

28/01/2005

Massuda

[...]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. Já ocorreram duas mensagens de erro no Delphi: ´Unable to create process: Espaço insuficiente de armazenamento para processar este comando´ e ´Unable create process: Foi feita uma tentativa de carregar um programa com um formato incorreto´.
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 seu sistema em DLLs/BPLs e assim driblar o limite por arquivo imposto pelo Win98.

Para mais detalhes, veja [url=http://groups.google.com.br/groups?hl=pt-BR&lr=&frame=right&th=725d0412d68bfcf3&seekm=3af7acd9_1¬40dnews]esta thread no NG da Borland[/url]. Em particular, a mensagem 10 dessa thread explica porque mudar o nome do form resolve :o seu problema.


Responder

Gostei + 0

28/01/2005

Weverton

Desde já quero agradeço pela resposta. Foi de grandia valia para mim.
Agora, tendo que dividir o executável, o q seria melhor: BPL ou DLL??


Mais uma vez obrigado.


Responder

Gostei + 0

28/01/2005

Massuda

tendo que dividir o executável, o q seria melhor: BPL ou DLL??
Não tenho muita experiência nessa área para poder afirmar com certeza... Tenho a impressão que usar BPLs e runtime packages seja menos ´sofrido´ que usar DLLs, mas sei que forms em DLLs costumam dar umas boas dores de cabeça.


Responder

Gostei + 0

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

Aceitar