buenas tardes, soy nuevo en esta comunidad xfavor necesito que me ayuden con un problema que tengo:
Estoy haciendo un DLL en delphi 5 con una simple función que necesite un parámetro de tipo string, al finalizar la función me devuelva la misma cadena o cualquier variable declarada dentro de la función. un ejemplo del código es el siguiente:
library EjemploDLL;
uses
SysUtils,
Classes;
function prueba( cad: string):string; cdecl;
begin
result := cad;
end;
exports prueba;
begin
end.
Luego ingreso a vb.net y estoy declarando mi funcion de la siguiente manera:
Public Class Form1
Public Declare Function prueba Lib "EjemploDLL.dll" Alias "prueba" (ByVal var As String) As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim vm As String
vm = prueba("hola")
MsgBox(vm)
End Sub
End Class
es ahí es donde entro en caos y me provoca destruir la PC >:( Cuando corro la aplicación en vb.net el compilador me dice lo siguiente:
"Intento de leer o escribir en la memoria protegida. A menudo, esto indica que hay otra memoria dañada."
no encuentro ayuda en internet, algo que lei es que se tiene que habilitar el compartir el buffer de memoria entre las 2 aplicaciones y esto esta en chino para mi entender :-[ y lo mas cercano que encontré de lo quiero hacer fue en su comunidad con el siguiente link http://www.comunidadgm.org/manual_GM/Usando_DLLs.htm (http://www.comunidadgm.org/manual_GM/Usando_DLLs.htm)
AYUDA xfavor!!!