برگزیده های پرشین تولز

dll + آرگومان های تابع export شده چیست؟

bird

کاربر تازه وارد
تاریخ عضویت
22 جولای 2005
نوشته‌ها
106
لایک‌ها
0
سلام
می خواستم ببینم، برای اینکه در یک تابع export شده از درون یک dll، راجع به تعداد و نوع آرگومان های مورد استفاده در این تابع، اطلاعات کسب کنیم، باید چه کنیم؟ یعنی وقتی می خواهیم از درون برنامه مان از توابع موجود در این dll استفاده کنیم، باید بدانیم که این توابع به چه آرگومان هایی نیاز دارند، می خواستم ببینم برای دانستن این موضوع چکار باید کرد؟
-خیلی ممنون
 

bird

کاربر تازه وارد
تاریخ عضویت
22 جولای 2005
نوشته‌ها
106
لایک‌ها
0
من می خواهم برنامه ای بنویسم، که در آن، با استفاده از توابع موجود در یک dll بنام IgorUSB.dll بتوانم با پورت usb ارتباط برقرار کنم. در دلفی برنامه ای برای اینکه با یکی از این توابع export شده کار کند، نوشتم، اما موقع اجراAccess Violation error می دهد، یک Example هم برای کار کردن با این dll پیدا کرده ام منتها با VB نوشته شده است. که اون رو اینجا می گذارم .می خواستم خواهش کنم اگر امکانش هست، شما توی یک برنامه یکی از این توابع export شده را فراخوانی کنید و بعد نتیجه اش را بگویید که آیا موفق شدید که اینکار را بکنید یا نه؟چون من فکر می کنم روش فراخوانی ام مشکلی نداشته، هر دو روش فراخوانی استاتیک و دینامیک را هم امتحان کرده ام، اما موفق نشدم.

-با تشکر فراوان
 

فایل های ضمیمه

  • software.zip
    51.4 KB · نمایش ها: 55

bird

کاربر تازه وارد
تاریخ عضویت
22 جولای 2005
نوشته‌ها
106
لایک‌ها
0
اگر وقت ندارید که IgorUsb.dll را که من اینجا گذاشته ام تست کنید، لطفا یک dll كه قبلا با ان كار كرده ايد به همراه نوع و تعداد آرگومان های یکی از توابع Export شده آن، به من معرفی کنید تا ببینم می توانم با آن dll کار کنم یا نه. در واقع می خواهم مطمئن بشوم که مشکل ازبرنامه فرا خوان من نبوده.

-با تشکر
 

littlerabbit

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
13 جولای 2003
نوشته‌ها
678
لایک‌ها
6
سن
42
محل سکونت
Iran
فکر میکنم مشکل تو آرگومانها نیست. مشکل احتمالا نوع فراخوانی تو بوده. تابع رو تو دلفی باید stdcall تعریف کنی (پیش فرض دلفی Register هست ) و این که تو وی بی هست stdcall هست. واسه توضیح بیشتر در این مورد اینجا رو ببین : http://cyberrabbits.net/ (لینک دیگه وجود نداره)
 
Last edited:

bird

کاربر تازه وارد
تاریخ عضویت
22 جولای 2005
نوشته‌ها
106
لایک‌ها
0
همونطور که گفته بودید، مشکل از ارگومان ها نبود، با stdcall تابع را فراخوانی کردم و برنامه ام درست شد. :D

-خیلی ممنون
 
بالا