seleccionado recursos recuperar pueden para mvc metadatos los información generador especificados error entitytype encuentra ejecutar codigo cargar asignaciones delphi dllimport

delphi - recuperar - no se pueden cargar los recursos de metadatos especificados



Error de encuentro al usar DataExplorer.exe para conectarse al controlador DBX4 de producción propia (1)

Escribí mi propio DBX 4 en Delphi 2010 para la base de datos Firebird. El controlador es un controlador de sincronización y funciona bien con TSQLConnection.

Recientemente, trato de usar el DataExplorer.exe lanzado con Delphi 2010 y el error de encuentro:

"Attempted to read or write protected memory. This is often an indication that other memory is corrupt".

Después de rastrear el código fuente, encontré que el siguiente método de exportación puede ser la causa del problema:

function DBXLoader_GetDriver(Count: TInt32; Names, Values: TWideStringArray; ErrorMessage: TDBXWideStringBuilder; out pDriver: TDBXDriverHandle): TDBXErrorCode; stdcall;

Al depurar este método, el parámetro Names and Values ​​contiene el valor dañado. No sé qué causa el problema. Tal vez hay algún problema de administrador de memoria con DataExplorer.exe (¿problema de .net?)

Después de un poco de prueba y error, intento cambiar el método de la siguiente manera:

type TWideStringArray2 = array of PChar; function DBXLoader_GetDriver(Count: TInt32; Names, Values: TWideStringArray2; ErrorMessage: TDBXWideStringBuilder; out pDriver: TDBXDriverHandle): TDBXErrorCode; stdcall;

Esta vez, el error se ha ido y poco después de salir de este método, el mismo error vuelve a aumentar

"Attempted to read or write protected memory. This is often an indication that other memory is corrupt".

¿Tiene alguna idea de cuál podría ser la causa del problema?