FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Como llamar a una DLL de Windows u otras externas
Hola a todo el foro.
Hacia varios años que no escribia por aqui. He creado una Dll, ADD.DLL , que suma o resta 2 numeros, es muy sencilla porque la uso de pruebas, para ver la compatibilidad con varios lenguajes. Me va bien en Visual Basic 6, VB.Net 2010 y SharpDevelop , incluso sin registrar la Dll en el sistema, y teniendolas en la misma carpeta que el EXE en estos lenguajes las declaro asi...... Private Declare Function SumaNumeros Lib "add.dll" (ByVal a As Integer, ByVal b As Integer) As Integer Private Declare Function RestaNumeros Lib "add.dll" (ByVal a As Integer, ByVal b As Integer) As Integer Ahora quiero probarlas en Delphi, tengo la version 7, o si puede ser, en Lazarus de FreePascal, ya que quiero probar si son compatibles con otros lenguajes que no sean Basic. Ojo, no se programar en Delphi, pero tampoco me suena todo a chino, je je Antes de escribir en el foro, he buscado por Google, me sale la funcion DLLIMPORT , pero solo suele haber ejemplos para DLLs propias de windows, y los ejemplos Y tambien, he leido algo de STDCALL y CDECL , que no tengo muy claro lo que es. Muchas gracias a todos por adelantado. Saludos desde España!!! |
#2
|
||||
|
||||
Por lo que se, que no es mucho, te comento a ver si te da alguna pista o algún hilo a partir del cual tirar...
Diría que las DLLs que implementes en Visual o en C# las puedes usar desde delphi utilizando COM. Deberás registrarlas y desde Delphi usar las opciones de importación y no deberías tener mayores problemas. DLLImport (si es lo mismo que me suena a mi) es una opción que puedes usar desde .NET para generar DLL's, que pluego puedes usar desde delphi con un LoadLibrary, sin necesidad de registrarlas. Es decir, que te simplifica mucho las cosas. Te pongo algo de código (de memoria) de cómo sería la Definición/llamada en Delphi; Suponiendo que hayas conseguido usar DLLImport y puedas usarla directament sn registrar.
Revisa este link: http://es.uwenku.com/question/p-wjnivalk-bx.html Explica lo mismo creo, con algunos detalles más.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Hola a todos !!!
Neftali, muchas gracias, ya pude solucionarlo lo de Suma y Resta, con un conversor de VB6 a Delphi. Tu ejemplo lo probe, y no me dejaba compilar, me daba errores al cargar la DLL. La Dll anterior se llamaba add.dll, aqui es fb_dll.dll, es la misma, solo que añadi las funciones Mayusculas y Minusculas. La DLL la he creado con freebasic, y este es el codigo de la funciones dentro la DLL, por si sirve de algo. Las 4 funciones, van bien en Visual Basic 6, VB.Net 2010, SharpDevelop y ThinBasic ( en ThinBasic tengo que declarar las funciones como alias, pero es cosa del compilador, me lo dijo el autor)
Este es el codigo sacado del conversor de VB6, a Delphi o Lazarus. Para los numeros me va bien. Pero vi que no me va bien para los string.....
Realmente esta Dll es para usar en VB o Basic, pero si puedo usarla en mas lenguajes, como por ejemplo Delphi, pues mucho mejor. Gracias a todos y que tengan un buen dia !!!!!! Saludos !!!!! Última edición por Neftali [Germán.Estévez] fecha: 20-06-2022 a las 16:24:58. Razón: Añadir TAG's al mensaje |
#4
|
||||
|
||||
Gracias por compartirlo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
De nada Neftali.
Pero piensa, que solo funcionan las Sumas y Restas, pero "NO" las Mayusculas ni Minusculas. Pero es una forma sencilla de llamar a una Dll. A ver si alguien sabe como hacerlo en Delphi, ya que en VB y demas va bien Mayusculas y Minusculas. Saludosss!!! |
#6
|
||||
|
||||
Cita:
No puedes usar string para DLLs. tendrías que cambiarlo por PChar o PAnsiChar.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Llamar una consola de windows desde un form en builder c++? | darkmir | C++ Builder | 7 | 20-08-2014 07:37:08 |
Como llamar a las funciones de la Api de Windows? | antonio302050 | C++ Builder | 2 | 17-11-2010 00:35:39 |
¿Filas de 1 color y otras de otras En Synedit IDE Delphi? | JXJ | Varios | 1 | 11-12-2008 00:01:28 |
Llamar al Visor de Imagenes de windows para abrir un fichero... | JoysticK | Varios | 6 | 14-09-2008 23:16:08 |
Como enlazar Aplicaciones externas | Micho | OOP | 2 | 26-11-2003 22:54:07 |
|