Error al usar una dll que he creado
Bueno para empezar indicar que es la primera dll que creo para uso propio y por ser la primera pues empiezan los problemas.
indico la funcion que me da problemas de la dll es la siguiente.
Ahora el codigo de llamada que uso en el ejemplo uso un form con un TADOConecction y la siguiente llamada:
Pues cuando pruebo me da una excepcion EAccessViolation in module info.dll at 001484FA Alguien puede ayudarme seguro que es una tonteria pero es que no estoy muy puesto, :p Gracias por todo. |
Hola DISIMULA
No se si me equivoco, pero veo algunas diferencias de sintaxis, podrian ser el problema, no se, pruebalo asi: y este otro: y si tiene clave la base de datos, por ejemplo: Clave admin Tal vez ayude en algo, aunque prefiero un archivo ini al que pueda cambiar la direccion de la base de datos, con un dll, queda solo en un sitio, ademas de tener que distribuir el dll, con el programa, bueno, es una opinion nada mas. Saludos |
Gracias Caral acabo de probar y nada sigo con el mismo error, se ve que no es esa del todo la solución se os ocurre alguna otra cosa.
Posdata: no lo pongo en un ini por que es una dll con mas funciones relacionadas para despues usarlas en mis programas. :p Gracias por responder. |
El problema que tienes radica en dos partes
La primera es que Cuando creas Dlls que serán utilizadas por diferentes lenguajes (lo menciono por tu sentencia StdCall), no podrás utilizar Tipos String, por lo que deberas usar Pchar, y despúes en el código de delphi cuando haces la declaración de la función debes agregarle por igual la sentencia StdCall.
Suerte |
También puede usar el tipo ShortSring. Tiene la limitante de 256 caracteres pero en muchos casos es más que suficiente y con la ventaja de no tener que ocuparnos del manejo de memoria como en el caso de los PChar.
// Saludo |
Pues dicho y hecho Poliburro tenias razón me faltaba el stdcall en la declaración de la función, ya funciono todo y como decia tambien Roman pues use el ShortString y todo ha ido sobre rueda.
Gracias a todos los que me habeis ayudado. |
La franja horaria es GMT +2. Ahora son las 01:47:26. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi