Solução para os erros do BDE relacionados a memória ($210D, $2500, $2501)

Posted by Adalberto on August 17th, 2009
Abaixo uso dois erros comuns em aplicações BDE, principalmente em SOs mais novos como Windows Vista e 2008 Server.
Erro: Conflito de compartilhamento de memória (Shared memory conflict – $210D)
Problema: O BDE está tentando usar um endereco de memoria que já está em uso pelo SO ou outra aplicação.
Solução:
1) Fechar todas aplicações BDE;
2) Executar o Administrador do BDE (Adm BDE) pelo “Painel de Controle” ou procurar o arquivo BDEADMIN.EXE (Adm BDE), este arquivo, normalmente, fica em algum diretório em “\Arquivos de Programas\Borland…”.
3) Ao carregar Adm BDE clique na aba “Configuration”;
4) Há um item na árvore, no lado esquerdo da tela do Adm BDE, chamado “Configuration”. Se não estiver expandido, expanda-o;
5) Depois, expanda “System”. Abaixo do “System”, selecione “INIT”.
6) Na janela ao lado direito, procure o parâmetro chamado “SHAREDMEMLOCATION”. Mude o valor para “5BDE”.
7) Depois, clique na palavra “Object” na barra de menu da janela principal e selecione “Apply”.
8) Responda “OK” para a confirmação de “Save all edits…” (Salvar todas alterações).
Erro: Memória insuficiente para esta operação (Insufficient memory for this operation – $2501)
Problema: Sua aplicação (ou outra aplicação BDE) consumiu a memória reservada para o BDE.
Solução:
1. Fechar todas aplicações BDE;
2. Executar o Administrador do BDE (Adm BDE) pelo “Painel de Controle” ou procurar o arquivo BDEADMIN.EXE (Adm BDE), este arquivo, normalmente, fica em algum diretório em “\Arquivos de Programas\Borland…”.
3. Execute o Adm BDE e clique na aba “Configuration”.
4. Há um item na árvore, no lado esquerdo da tela do Adm BDE, chamado “Configuration”. Se não estiver expandido, expanda-o;
5. Depois, expanda “System”. Abaixo do “System”, selecione “INIT”.
6. Na janela ao lado direito, procure o parametro chamado “SHAREDMEMSIZE”. Mude o valor para 4096.
7. Depois, clique na palavra “Object” na barra de menu da janela principal e selecione “Apply”.
8. Responda “OK” para a confirmação de “Save all edits…” (Salvar todas alterações).
Agora você pode tentar iniciar a aplicação novamente. Se ainda tiver problemas para rodar a aplicação e você estiver rodando ela em Windows NT, 2000 ou superior, abaixo tem algumas instruções sobre, mas desta vez deixe a propriedade “SHAREDMEMSIZE” com 4096, e altere a propriedade “SHAREDMEMLOCATION” para “0×5BDE”.
Então aplique as alterações antes e tente rodar novamente sua aplicação. Se o mesmo erro permanecer  tente alterar a propriedade “SHAREDMEMSIZE” para 8192. Se o erro persistir, você pode tentar informar “0×6BDE” para a propriedade “SHAREDMEMLOCATION”. Se ainda assim o erro persistir, você pode tentar outro valor para a propriedade “SHAREDMEMLOCATION”, conforme o intervalo exposto abaixo.
Outros valores podem ajudar a resolver este problema, são eles: 1000, 7000, and 7F00. Se nenhum desses valores resolverem, você pode tentar 2000, 3000, 4000, etc. ou qualquer valor dentro dos intervalos especificados para cada sistema operacional:
Windows 95/98: SHAREDMEMLOCATION = 9000 to FFFF
Windows NT/2000/2003/Vista/2008: SHAREDMEMLOCATION = 1000 to 7F00

Em experiência reportadas por outros usuários foi necessário remover ou desabilitar o driver da placa de som no Windows NT/2000/2003/Vista/2008 para resolver o problema, mas nomalmente somente “realocando” o pool de memória usado pelo BDE na propriedade SHAREDMEMLOCATION já é

o suficiente.

Fala ai pessoALL!

Abaixo uso dois erros comuns em aplicações BDE, principalmente em SOs mais novos como Windows Vista e 2008 Server, para exemplificar a parametrização de memória do BDE.

Read the rest of this entry »

MapiSendMail no Windows Mail (Vista e 2008)

Posted by Adalberto on February 16th, 2009

Bom diALL!

Você possui aplicações que enviavam normalmente e-mails utilizando o MapiSendMail e agora na plataforma Vista não enviam mais?

Fique calmo meu caro, a solucao é mais simples do que o esperado.

Na plataforma Vista não vem uma chave de registro denominada “Windows Messaging Subsystem”, esta chave define alguns valores para a utilização do envio de e-mail pelo arquivo MAPI32.DLL.

Nesta chave estão as configurações de acesso a DLL citada bem como as configurações de aplicações que gerenciam e-mails que podem ser utilizadas pelo MapiSendMail.

Para facilitar as coisas este link é para o arquivo REG com a criação da chave acima e configurações necessárias:  http://www.aflsistemas.com.br/downloads/WindowsMessagingSubsystem.reg *.

* Para fins didáticos o arquivo já está configurado para utilização do Thunderbird, o conteúdo do arquivo pode ser alterado para “Microsoft Outlook”, caso necessário, através de um editor de texto simples (notepad, p.e.).

Feito isso, seu problema de “Ocorreu erro no procedimento de envio de e-mail”, estará solucionado! Desde que seja realmente só isso… rs… :)

Abraços e até a próxima…

Beto Lima


Copyright © 2007 AFL Sistemas. All rights reserved.