ADA - Problema con pragma Import

 
Vista:

Problema con pragma Import

Publicado por Diego (2 intervenciones) el 27/10/2006 12:44:34
El problema es el siguiente:
Estoy intentando hacer un archivo de cabecera (.ads) para usar una dll
En el archivo .def de la dll están los metodos que tengo que importar, pues bien hay 4 de ellos que están sobrecargados, aunque en el .def aparezcan como X__message, X__message2, X__message3, X__message4

Pero en el codigo todos los métodos son message (sobrecargado)

A la hora de hacer el pragma import (ADA, message, "X__message") no hay problema hasta el segundo que lo tengo que llamar igual y al tercero y cuarto también. Con lo que el compilador da error, y si lo intento llamar como message__2, me dice que no puede contener el underline doble el nombre.

Estaba mirando el pragma import procedure, pero no se como va, y ya no se como importar esos metodos sobrecargados (con el mismo nombre y distintos parámetros)

Por favor alguien sabe lo que intento explicar, jeje. Gracias y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con pragma Import

Publicado por Gneuromante (9 intervenciones) el 30/10/2006 23:50:25
En Ada dales un nombre distinto a cada procedimiento porque si no el pragma no sabe a qué procedimiento aplica, pero no uses dos guiones bajos porque no es legal.

Por otro lado, cuando pones "pragma import (ADA, ", ¿estás seguro de que no tendría que ser "pragma import (C," o el lenguaje en el que esté implementado la DLL?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con pragma Import

Publicado por Diego (2 intervenciones) el 31/10/2006 08:11:46
Es que la dll la he generado yo mismo en ADA, por eso hay que poner ADA. Eso ya está probado y funciona es solo el problema de la sobrecarga que es para un trabajo y me obligan a usar esos métodos con el mismo no mombre. En el archivo.def aparecen con nombres distintos pero los nombres reales son iguales todos. No habrá otra forma que no necesite hacer el pragma Import???? no se, linkando la librería debería funicionar no? pero no soy capaz. Muchas gracias, a ver si algún maquina de programador como tu por ahí sabe echarme un cable :p,
Muchas gracias otra vez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con pragma Import

Publicado por Gneuromante (9 intervenciones) el 31/10/2006 21:23:27
Si usas GNAT, prueba a poner visible al compilador el .ads donde tienes definido los procedimientos, y el .ali correspondiente sin permiso de escritura. Esa es la manera de decirle que se olvide de recompilar el .adb correspondiente, porque le vas a pasar al linker un .o, .lib o .dll. Luego al gnatlink le pasas la .dll.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar