nexpay

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

شروع موضوع توسط bird ‏25 آگوست 2005 در انجمن Delphi

  1. bird

    bird کاربر تازه وارد

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

    bird کاربر تازه وارد

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

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

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

    • software.zip
      اندازه فایل:
      51.4 KB
      نمایش ها:
      55
  3. bird

    bird کاربر تازه وارد

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

    -با تشکر
     
  4. littlerabbit

    littlerabbit مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏13 جولای 2003
    نوشته ها:
    667
    تشکر شده:
    4
    محل سکونت:
    Iran
    فکر میکنم مشکل تو آرگومانها نیست. مشکل احتمالا نوع فراخوانی تو بوده. تابع رو تو دلفی باید stdcall تعریف کنی (پیش فرض دلفی Register هست ) و این که تو وی بی هست stdcall هست. واسه توضیح بیشتر در این مورد اینجا رو ببین : http://cyberrabbits.net/ (لینک دیگه وجود نداره)
     
    Last edited: ‏24 فوریه 2010
  5. bird

    bird کاربر تازه وارد

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

    -خیلی ممنون
     
zarpopخرید بک لینک عسل طبیعی و گرده گل ایرانیfootbal