Se produjo un error cuando Delphi llamó al dll escrito en VC
Descripción del problema:
Propósito del programa: dll recibe la cadena DELPHI y aparece.
Después de que aparece la cadena, aparece un mensaje de error:
Infracción de acceso en la dirección 0134B073 en el módulo 'mydll.dll'. Escribir dirección 0045216C
Código fuente Dll:
extern "C" _declspec(dllexport)
int got(CString str)
{
AfxMessageBox(str);
return(0);}
Código fuente de Delphi:
Programa TForm1. Button1Click(remitente: al objeto);
Tipo
tint func = procedimiento(tring: stdcall
Definir variables
th: Thandle;
TF: tint func;
TP: TFarProc;
Inicio
th:= LoadLibrary(' mydll. dll ');{Cargando DLL}
Si Th gt entonces 0
Intente
Tp:=GetProcAddress(Th, PChar(' gone ') );
Si Tp lt gt Ninguno
Entonces comencemos
TF:= tint func(Tp);
TF(' Oh Dios Dios mío'); hay un error en la línea {Call Wentfunction}.
Fin
Otro
Showmessage("Función no encontrada
Última
Biblioteca gratuita (Th); {Publicar DLL}
Fin
Otros
ShowMessage("mydll.dll no encontrado
Fin;
Análisis:
La cadena C es diferente de DELPHI, por lo que hay un error.