سلام دوست عزیز
نه فایل .lib و نه .h هیچکدوم رو ندارم .
ببینید این dll رو که میگم همون dll معروف shamsi.dll هست که از آدرس زیر به همراه help کامل دریافتش کردم :
من سعی کردم از روشهایی واسه بارگذاری این dll استفاده کنم اما حتی با اینکه در برنامه خطایی وجود نداشت درست عمل نکرد (ضمنا من dll رو رجیستر هم کردم و اون رو در پوشه سیستم هم قرار دادم)
حالا من روش کارم رو واسه شما توضیح میدم اگه در بعضی جاها کارهای عجیب غریبی کردم من رو ببخشید و به من نخندید چون این تجربه اولم بود !
ابتدا یک دستگیره برای فراخوانی dll تعریف کردم :
در ادامه سعی کردم تابع Miladi2Shamsi مربوط به dll رو تعریف کنم : یعنی نوع متغیری به نام MILADI2SHAMSI را تعریف کردم که آدرس تابعی را نگهداری می کند که از نوع CString را برمی گرداند و پارامتری از نوع CString دارد دستور بعدی هم متغیری به نام Miladi2Shamsi و از نوع MILADI2SHAMSI تعریف کردم. این کد ها را در فایل Dlg.cpp برنامه قرار دادم :
typedef CString(*MILADI2SHAMSI)(CString);
MILADI2SHAMSI Miladi2Shamsi;
در OnInitDialog هم کدهای زیر رو نوشتم :
dastgire=LoadLibrary(_T("shamsi.DLL"));
Miladi2Shamsi=(MILADI2SHAMSI)GetProcAddress(dastgi re,"MILADI2SHAMSI");
یک دکمه و دو Edit text با متغیر هایی از نوع cstring به نامهای shams و milad تعریف کردم و کدهای زیر رو در تابع دکمه قرار دادم :
UpdateData();
shams=Miladi2Shamsi(milad);
UpdateData(FALSE);
اما در نهایت جواب نگرفتم. میشه یک راهکار درست و حسابی بگید و بگید که اصلا کارهایی رو که من انجام دادم درست هستند یا نه ؟
با تشکر