FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Entry Point Not Found
Hola amigos,
Me encuentro creando una .DLL que compile en Borland C++ 7.4 y cuando trato de llamar la funcion que esta DLL tiene desde Delphi, en la compilacion me arroja el siguiente mensaje Este es el codigo que estoy usando desde Delphi
Y aca la funcion en la DLL long MdyToJulian(int mon, int day, int yea) { long im, j; im = 12*((long)yea+4800)+(long)mon-3; j = (2*(im%12) + 7 + 365*im)/12; j += (long)day + im/48 - 32083; if (j > 2299171) /* Take care of dates in */ j += im/4800 - im/1200 + 38; /* Gregorian calendar. */ return j; } GRacias de antemano Última edición por compuin fecha: 18-01-2020 a las 17:23:22. Razón: imagen |
#2
|
|||
|
|||
Hace milenios que no uso C/C++, pero ¿Estás seguro de que la DLL está exportando esa función?
Y lo evidente: La DLL está en la misma carpeta que el exe |
#3
|
|||
|
|||
Cita:
Hay alguna forma de probar eso ? |
#4
|
||||
|
||||
¿El error es en tiempo de compilación o de ejecución?
Aparentemente tu DLL no estaría exportando por nombre la función "MdyToJulian". Igualmente si es solo ese fragmento de código el que tienes que utilizar, y suponiendo por el nombre que se trata de obtener la fecha en Juliano, te recomiendo usar la función DateTimeToJulianDate de la unit DateUtils, en conjunto con EncodeDateTime.
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#5
|
|||
|
|||
Por aquí explican que en C++ a veces los nombres exportados no son los que se espera:
https://stackoverflow.com/questions/...t-could-not-be |
#6
|
||||
|
||||
Si subes la definición del header, te puedo decir si se está exportando o no.
Otra forma, "navegar" la librería, dado que si exporta la función por nombre, puedes verla con alguna herramienta tipo: ExportViewer ó Dependency Walker. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. Última edición por delphi.com.ar fecha: 20-01-2020 a las 22:33:53. |
#7
|
|||
|
|||
Cita:
|
#8
|
||||
|
||||
Si... si la función tiene únicamente lo que pegaste como código, sin header, ya te confirmo que no la estás exportando.
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#9
|
|||
|
|||
Cita:
Aca parte del header /* From formulas.c */ #define EclToEqu(Z, L) CoorXform(Z, L, DTOR(TROPIC)) #define EquToEcl(Z, L) CoorXform(Z, L, DTOR(-TROPIC)) #define EquToLocal(Z, L, T) CoorXform(Z, L, T) #define ReadPlanetData() (*datapointer++) #define Biorhythm(D, R) (sin(((D)/(R))*PI*2.0)*100.0) #define JulianDayFromTime(T) ((T)*36525.0+2415020.0) extern long MdyToJulian(); extern void JulianToMdy(); extern real ProcessInput(); extern void CoorXform(); extern int HousePlaceIn(); extern void HousePlace(); extern void ComputeStars(); extern real CastChart(); |
#11
|
|||
|
|||
Cita:
Esto deberia ir donde ? En el archivo de cabecera o en el .cpp con la funcion ? |
#12
|
||||
|
||||
Cita:
La etiqueta del código pone PHP pero el código es C. Simplemente uso esa etiqueta porque CD no tiene etiquetas para C/C++ y la de PHP es la que deja el formato de código más parecido a C/C++ al publicar. Saludos. |
#13
|
||||
|
||||
Acá te dejo un ejemplo hecho a medida:
Archivo funcs.cpp (todo junto, deberías pasar la definición al header) Código:
#define EXTERN_DLL_EXPORT extern "C" __declspec(dllexport) EXTERN_DLL_EXPORT long __stdcall MdyToJulian(int mon, int day, int yea) { long im, j; im = 12*((long)yea+4800)+(long)mon-3; j = (2*(im%12) + 7 + 365*im)/12; j += (long)day + im/48 - 32083; if (j > 2299171) /* Take care of dates in */ j += im/4800 - im/1200 + 38; /* Gregorian calendar. */ return j; } Para compilarlo bajé el compilador gratuito Embarcadero Free C++ compiler, y lo compilé utilizando: Código:
bcc32c funcs.cpp -tD
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. Última edición por delphi.com.ar fecha: 21-01-2020 a las 16:14:15. |
#14
|
||||
|
||||
Cita:
Federico: ¡Tú también has regresado! Javier. Hay algo pendiente en tu WhatsApp. :-) Última edición por Al González fecha: 31-01-2020 a las 17:22:18. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
pasar for (Entry in FSMBiosTablesList) do a delphi7 | fcios | Varios | 2 | 01-05-2013 18:50:19 |
Campo no Entry | berfer | Firebird e Interbase | 12 | 22-08-2006 17:29:21 |
mysql no me permite agregar registros como duplicate entry.. | Arturo | MySQL | 1 | 24-07-2006 19:15:39 |
Error (Duplicate Entry) | romansiux | Varios | 4 | 31-05-2005 02:17:28 |
Invalid key links entry?? | nefy | Firebird e Interbase | 8 | 12-05-2004 17:06:21 |
|