Os erros $210D e $2501 so decorrentes de conflitos na alocao de recursos de memria pelo Windows. Nas verses XP e Vista o endereamento padro para o BDE era bastante e no havia necessidade de realizar maiores ajustes no BDE para utilizar vrias instancias do BDE simultaneamente sem que houvesse conflitos nos recursos alocados.
Vemos, porm que nas ltimas verses do Windows o comportamento foi alterado, havendo necessidade de realizar modificaes dos parmetros SHAREDMEMLOCATE e SHAREDMEMSIZE, definindo endereamento de memria que no esteja sendo utilizado pelo OS.Em muitos casos, no entanto, possvel ajustar as configuraes do BDE para contornar o problema com conflitos de memria. Algumas solues provveis so:
Altere no BDE o parmetro memsize para 205.
Soluo 1: Nas configuraes do BDE, acessar o parmetro SYSTEM > INIT > SHAREDMEMLOCATE e modific-lo para 5BDE. Salve a alterao e faa o teste de uso de aplicaes simultaneamente abertas.
Soluo 2: Nas configuraes do BDE, acessar o parmetro SYSTEM > INIT > SHAREDMEMSIZE e modific-lo 4096. Salve a alterao e faa o teste de uso de aplicaes simultaneamente abertas.
Soluo3: Nas configuraes do BDE, acessar o parmetro SYSTEM > INIT > SHAREDMEMLOCATE e modific-lo para 05BDE.Acesse o parmetro SYSTEM > INIT > SHAREDMEMSIZE e modifique-o 4096.Salve as alteraes e faa o teste de uso de aplicaes simultaneamente abertas.
Soluo4: Nas configuraes do BDE, acessar o parmetro SYSTEM > INIT > SHAREDMEMLOCATE e modific-lo para 06BDE.Acesse o parmetro SYSTEM > INIT > SHAREDMEMSIZE e modifique-o 8192.Salve as alteraes e faa o teste de uso de aplicaes simultaneamente abertas.
Para esta soluo tambm so vlidos os seguintes valores de SHAREDMEMLOCATE: 1000, 7000, 7F00, 2000, 3000, 4000, 5000, 6000,0x%BDE. possvel ainda que seja necessrio remover ou desabilitar alguns drivers (de som, por exemplo) no Windows 7 e 2008 para resolver o problema, mas normalmente somente realocando o pool de memria usado pelo BDE atravs SHAREDMEMLOCATION j ser suficiente.Reinicie a mquina aps as alteraes.
Soluo5:
Desabilitar o recurso ASLR.
Estudando o assunto e pesquisando na Internet descobrimos que e o que ocasiona os erros de shared memorydo BDE, desde o Windows Vista, o recurso ASLR (Address Space Layout Randomization - http://en.wikipedia.org/wiki/Address_space_layout_randomization). Esse mecanismo tem como objetivo gerar uma aleatoriedade para os endereos de carga de EXEs e DLLs especialmente marcados (com o bit ASLR). Com isso aumenta-se assim a segurana do SO, pois diminui a probabilidade de um atacante adivinhar onde as reas importantes de memria esto carregadas. O BDE (lembrando que a verso atual foi liberada l em 2001) configurado para alocar uma a rea de memria compartilhada no endereo 6BDE (0x6BDE0000, para Windows NT e superiores). Essa rea coincide com a regio utilizada pelo mecanismo de ASLR (acima de 0x50000000). Por isso os erros de conflito de memria Boletim Tcnico
Banco de Dados (Site Belo-Horizonte) 03/2013 compartilhada.Para solucionar o problema voc poder desabilitar o ASLR da mquina atravs da criao da chave MoveImages no caminho abaixo no registro:
Outra alternativa para desabilitar o ASLR no Windows 7 a utilizao do Enhanced Mitigation Experience Toolkit v3.0 da Microsoft. A criao da entrada de registro pode no desabilitar o recurso para este SO em alguns casos.
O software facilitar este procedimento. http://www.microsoft.com/en-us/download/details.aspx?id=29851
A Microsoft no recomenda desabilitar o ASLR por conta do maior risco de contaminao por malwares, realando que foi esse recurso que possibilitou maior segurana nos Windows a partir do Vista em diante e que o Hyper-V funciona bem com o mesmo. (http://blogs.technet.com/b/virtualization/archive/2011/02/09/windows-7).