Sziasztok!
> Felado : [International]
> Temakor: dll VC++ -ban ? ( 9 sor )
> Idopont: Fri May 7 04:49:27 EDT 1999 CODER #453
> Hali, HOgyan kell egy dll-t irni C++-ban hogy a benne levo fugvenyeket ki
> tudjam expo rtalni (azaz mas programbol meghivni a dll-t)? Ha standardan
> csinalok egyet, ak kor a fugvenyek neve 'mangled lesz', azaz pl export()
> nevu fuggveny t??() lesz. Persze ha extern "C" -vel deklaralom
> ugy ok, de csak van valami C++ -ban is? Nem kell COM, azt tudom hogy kell,
> egyszerubb... Pali
Ezt mi igy szoktuk csinalni:
Van egy kozos header file, amit a beincludol maga a dll is es az a progi is aki
hasznalni akarja a dll-t:
Ha a dll-t forditod akkor definialni kell a _COMPILE_DLL-t.
Kb igy nez ki a header:
#ifdef _COMPILE_DLL
#define _dll_decl __declspec(dllexport)
#else
#define _dll_decl __declspec(dllimport)
#endif
Es a fv.-eket igy kell deklaralni:
_dll_decl int IntetAdoFun(int imp1, int imp2,....);
Ha class-t akarsz elerhetove tenni akkor:
class _dll_decl CClassADllben
{
.......
};
A dll-t hasznalo progi linkelesekor termesztesen a dll lib-jet hozza kell adni
a projecthez.
Pisti
|
Hali !
Szkeptikus vagyok a problemat illetoen. Annak, hogy lasd (read only) tobb
modja is lehet, de a tablakba beleirni mindaddig nem tudsz amig mas taszk
is nyitva tartja oket. Ha megis sikerul valami keruloutat talalnod, akkor
kerlek ird meg, engem is erdekel.
Udv: Gyurka
|