تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 6 از 6

نام تاپيک: فایل های dll

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2006
    پست ها
    30

    پيش فرض فایل های dll

    دوستان سلام
    اگه ممکنه اطلاعاتی رو در مورد فایل های dll به من بدین و اینکه مثلا تو c یه فایل ایجاد مکنن و تو vb استفاده می کنن چجوریه
    ممنون

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    دقیقاً چی میخواهید؟؟؟؟
    طریقه ساخت dll در C را میخواهید؟؟؟ (که من که اصلاً حال توضیحش را ندارم) یا اطلاعات کلی میخواهید؟

  3. #3
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2006
    پست ها
    30

    پيش فرض

    H2 جان راستش یه جوری جواب دادی آدم روش نمیشه بگه هردوش ولی یه لطفی کن و طریقه ساختش رو هم جزو اطلاعات کلی حساب کن ما رو شرمنده کن
    ممنون از توجهت

  4. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    یک نمونه کد (Sample) برایت حاضر میکنم که یک API در ++VC و درون یک dll میسازد، (مثلاً برای جمع دو عدد) و بعد از VB آنرا صدا میزنم، فکر کنم بهتر است.
    برخی موارد یک Sample خوب بهتر از ده ها خط توضیح عمل میکند.
    فقط بسیار سرم شلوغ است ولی سعی میکنم تا فردا حاضر شود و اگر نشد .... شنبه..
    فعلاً این را درست کنم تا برسد به توضیح ....


    البته سروران و اساتید دیگر سایت هم هستند و اگر کمک کنند که عالی میشود!

  5. #5
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    خوشبختانه توانستم نمونه کد را حاضر کنم.

    توضیح خیلی کلی!
    dll ها حاوی کدهای قابل اجرا هستند و این کدها را در قالبهای مختلف در اختیار دیگر کدهای اجرایی درون exe یا dll دیگر قرار میدهند.
    خود dll هم میتواند مستقیماً مثل یک exe عمل کند، همانطور که بیش از 90 درصد دیالوگها و پنجره های معمولی که در ویندوز میبینیم از داخل dll اجرا میشوند.

    dll ها عموماً به دو شیوه کد خود را صادر میکنند.
    1- توابع جداگانه و در قالب API (که بنیان فرامین ویندوز بر همین مبنا است و روش فراخانی و روش ارسال پارامتر در انها مهم است)
    2- صدور یک کلاسس ماژول به بیرون
    خود کلاسس ماژول انواع فوق العاده متنوعی دارد که هر کدام کد نویسی جداگانه و طرز استفاده خاص را دارند ولی در حالت کلی میتوان خود آن را به دو دسته کلاسس بومی مدیریت نشده و کلاسس مدیریت شده دات نتی تقسیم کرد.

    از بین انواع مختلف VB.Net2005 و C#.Net2005 فقط قادر به صدور کلاسسها و نوعهای مدیریت شده (دات نتی) با تمام جزئیات و کلاسسهای COM سبک است. (کلاسسهای COM توسط دات نت مارشالینگ میشوند و گرچه میتوان به راحتی اقدام به کد نویسی کرد ولی این به معنی آن است که در نهایت بازهم باید دات نت در رایانه نصب باشد.)
    ولی VC++2005 از همه موارد با تمام جزئیات و حالات مختلف پشتیبانی میکند.

    البته صدور کلاسس مدیریت شده فوق العاده راحت است و با صرف کلمه Public میتوان عمل فوق را انجام داد و حتی بدون کلمه فوق هم به راحتی امکان پذیر است ولی کلاسسهای مدیریت نشده در ++VC بعضاً به دهها و صدها خط کد نویسی برای کلاسس و رابط و رجیستر و... نیاز دارند که قدرت دات نت در export کلاسس ها به راحتی و بدون زحمت واقعاً ستودنی است

    ضمناً قبلاً سرورمان am_merman01 هم مشابه حدودی این سوال شما را پرسیده بود، ببینید بد نیست!
    forum.p30world.com/showthread.php?t=140405


    این نمونه کد در اصل برای چیز دیگری نوشتم ولی این هم بد نیست!
    یک dll مدیریت شده است که با خود VB.Net ساخته شده و درونش حاوی تعدادی تصویر است که تصاویر را در اختیار یک exe که آنهم با VB.Net است قرار میدهد.
    900KB
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    این هم نمونه کد اصلی که یک API با نام FunctionName در VC++ 8.0 درون یک dll با نام ApiCpp.dll میسازد (6KByte!) که دو عدد را جمع میکند و کد exe در VB 8.0 به آن وصل میشود و تابع مذکور را فراخانی میکند.
    (در داخل VS2005 برای صحیح کار کردن دیباگر باید فایل ApiCpp.dll را در ریشه Bin\Debug که ساخته میشود کپی کنید.)
    16KB
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    API ها یک سری رسوم استاندارد دارند که بهتر است رعایت شود مثلاً نوع فراخانی stdcall باشد یا پارامترهای ورودی و خروجی 4 بایتی باشند (یا مستقیم یا اشاره گر) و...
    قابل ذکر است که کد فوق فوق العاده کوتاه و قابل فهم است به طوری که هر کد و فایل اضافه ای که نیازی نبوده را پاک کردم و کد نمونه در حداکثر کوچکی خود قرار دارد و دانلودش را به دوستان دیگر هم توصیه میکنم، من که خودم بعد از پایان کار خیلی لذت بردم که مثل دوران VC++6 و VB6 دوباره دیدم که VC++8 و VB8 در پخش کدهای مدیریت نشده به هم وصل شده اند.!
    قابل ذکر است که dll فوق گرچه با نرم افزار VS.Net2005 طراحی شده ولی اصلاً ربطی به دات نت ندارد و در تمام زبانهای برنامه نویسی دات نتی و غیر دات نتی قابل استفاده است.
    Last edited by _H2_; 29-10-2007 at 10:57. دليل: اصلاح لینک دوم (با عرض شرمندگی ایراد تایپی داشته!)

  6. #6
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2006
    پست ها
    30

    پيش فرض

    ممنون از وقتی که گذاشتی در امیدوارم جواب همه سوالاتتو به همین راحتی بدست بیاری

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •