Bien, Antes de comenzar les informo que tienen que saber lo básico de llamadas a dll en ambos lenguajes, "Proc" en Pauscal y "DllCall" en Autoit.
Comenzamos abriendo el IDE de Pauscal y creando una nueva biblioteca.
Importar "Utiles.prp" ' Importamos la librería que contiene el procedimiento "Mensaje"
Proc Msg(Contenido:Entero) Exportar ' Creamos un procedimiento, lo nombramos "Msg" y establecemos su primer parámetro como un Entero, finalmente Exportamos el procedimiento.
Mensaje(CadenaDePtrCad(Contenido)) ' Utilizamos el procedimiento "CadenaDePtrCad" para obtener la cadena desde el puntero que ingresa gracias a "DllCall" de Autoit.
FinProc ' Fin procedimiento
Una vez escrito el código, lo compilamos cliqueando en el botón que esta a la izquierda del botón verde mas llamativo.Yo lo pondré en el escritorio y lo llamare "Dll".
Ahora creamos un Script de Autoit.
Lo abrimos con nuestro editor de texto de preferencia y le pegamos el siguiente código.
Dim $Var1
$Mensaje = "Mensaje"
$Var1 = DllCall("Dll.dll","none","Msg","str",$Mensaje)
Seguramente los que ya hayan probado la función "DllCall" en Autoit se preguntaran:"¿Por Que le establecemos el parámetro 1 de tipo "Str" si es para Cadenas?"
"Ademas en Pauscal le establecimos el parámetro 1 de tipo Entero que es numérico"
Lo que hace el tipo de dato "Str" en Autoit es enviar un puntero a la cadena, se puede apreciar esta realidad en la documentación del lenguaje.
Ejecutan el código y pueden visualizar claramente el mensaje.
¡Saludos!
No hay comentarios:
Publicar un comentario