Ver Mensaje Individual
  #4  
Antiguo 26-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Reputación: 19
jmariano Va por buen camino
Sólo por ayudar un poco con lo que puede estar pasando, comentar que, según la ayuda de Delphi, el archivo BORLANDMM.DLL es un administrador de memoria que permite a los módulos (.dll) compartir memoria reservada dinámicamente. La ayuda dice que si una .dll exporta funciones que devuelven o reciben como parámetro una cadena "larga" (es decir, el tipo "string" de Delphi) o arrays dinámicos es necesario añadir a la cláusula "uses" de la .dll o de las aplicaciones cliente el unit "ShareMem" (al añadir esta unit se usará el administrador de memoria encontrado en BORLANDMM.DLL). (Esto también se cumple cuando se usan las funciones para reservar y liberar memoria: "GetMem", "FreeMem", etc.)

Así que fíjate si "ShareMem" se encuentra en la cláusula "uses" de tu aplicación o en tus .dll (esto último sólo en caso de que tus funciones las haya codificado en una .dll, donde tratas las cadenas). Si no es así, prueba a añadir el unit y, en caso contrario, prueba a quitarlo (al quitar el unit de la cláusula "uses", la aplicación, no debería usar BORLANDMM.DLL). (Está claro que si te da error en el archivo es porque algún módulo de tu aplicación tiene una referencia a "ShareMem", así que la prueba consistiría en eliminar dicha referencia o en añadirla en los units donde haciera falta, que sería en donde tratas las cadenas).

(Una última cosa que también puede estar pasando es que el archivo BORLANDMM.DLL esté corrupto, así que podrías probar a copiarlo de nuevo).

Última edición por jmariano fecha: 26-08-2005 a las 00:24:45.
Responder Con Cita