Skocz do zawartości

problem z używanie dll'a


Rekomendowane odpowiedzi

Witam.

 

Mam takii kod w GM:

 

GML
global.__MAP_CREATE = external_define('DGE_map.dll', 'DGE_map_create', dll_stdcall, ty_real, 0);

 

kod funkcji w dll'u:

 

export double DGE_map_create( void )
{      
       double var=DGE_map_update(0);
       return var;
}

 

i taki błąd gdy włączam gm'a

 

Error defining an external function.

 

Co tu jest źle?

Odnośnik do komentarza
Udostępnij na innych stronach

Hm, funkcja na pewno dobrze jest eksportowana z DLL-a (możesz się upewnić jakimś softem typu dependency walker) ? Ścieżka do DLL prawidłowa ? ;p

 

Konwencje wywołania różnią się tym, jak parametry są przekazywane do funkcji na stosie/w rejestrach procesora. Standardowo w C++ używa się cdecl, a w Delphi stdcall ;p

Odnośnik do komentarza
Udostępnij na innych stronach

A więc tak:

 

-ścieżka do pliku dobra

 

to co mam przed exportem to:

 

#ifndef DGE_MAP_H_
#define DGE_MAP_H_


#include "DGE_map_func.h"
#include "DGE_mapa_class.h"
#define export extern "C" __declspec(dllexport)

 

więc dlaczego mialoby się zle eksportowac?

 

 

hmm czyli to mialem zle bo musze miec cdecl ale jak już napisalem to nic nie dalo

Odnośnik do komentarza
Udostępnij na innych stronach

w czym kompilujesz? bo w Visualu slowo "export" jest zarezerwowane i lepiej uzywac innego. no ale tak czy inaczej, nie powinno to byc przyczyna problemu.. :/

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...