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

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




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 18

نام تاپيک: فايل هاي Dll

  1. #1
    اگه نباشه جاش خالی می مونه soltanmahdi's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    همسایه امام رضا
    پست ها
    347

    1 فايل هاي Dll

    با سلام خدمت دوستان.
    مي خواستم بدونم كه فايل هاي Dll در دلفي به چه كار مي آيد واگر مي شه توضيح مناسبي در ايم مورد بگين. ممنون.

  2. #2
    پروفشنال Admiral's Avatar
    تاريخ عضويت
    Jul 2006
    پست ها
    675

    پيش فرض

    فایل های DLL یا Dinamic Link Library شامل یکسری توابع و کدهای زبان ماشین (کامپایل شده) هستند.

    فرض کن تابعی رو برای محاسبه تاریخ شمسی از قمری نوشتی و نمیخوای کسی الگوریتم کارت رو بفهمه (!!!) اون تابع رو در یک DLL ذخیره میکنی و نحوه استفاده از اون (نام تابع،پارامترها و....) رو معرفی میکنی و اونو به دوستت می فروشی تا بدون اینکه از الگوریتم کارت سر در بیاره بتونه از اون تابع استفاده کنه !

    البته این یه مثال بود !

    بعضی توابع و فایل مهم که در برنامه لازمه هم روی سیستم به صورت DLL هستند.
    مثلا برنامه هایی که با دلفی مینویسی از توابع خاصی از سیستم عامل ویندوز استفاده میکنن که در DLL هایی مثال Kernel32.dll و user32.dll و.... قرار دارن.

    توضیحش مفصله !

  3. #3
    اگه نباشه جاش خالی می مونه soltanmahdi's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    همسایه امام رضا
    پست ها
    347

    1

    با سلام خدمت دوستان.
    ادميرال جان اولا لطف كردين كه من رو راهنمايي كردين. حالا اگه امكانش هست بگين كه چطوري مي شه يك فايل دي ال ال ساخت و از آن استفاده كرد؟
    يك چيزه ديگه كه من تاپيك هاي ديگه هم زدم. چرا به آنها جواب نمي دهيد؟
    ممنون.

  4. #4
    پروفشنال Admiral's Avatar
    تاريخ عضويت
    Jul 2006
    پست ها
    675

    پيش فرض

    با سلام خدمت دوستان.
    ادميرال جان اولا لطف كردين كه من رو راهنمايي كردين. حالا اگه امكانش هست بگين كه چطوري مي شه يك فايل دي ال ال ساخت و از آن استفاده كرد؟
    سلام دوست عزیز

    دلفی رو باز کنید و از منوی File -> New->Other گزینه Dll wizard رو انتخاب کنید.

    حالا قبل از Begin فانکشن ها و پروسیجرهای مورد نظر خودتون رو بنویسید.

    حالا بعد از تعریف توابع و قبل از begin بنویسید Exports و بعدش نام توابع رو با کاما از هم جدا کنید و آخرش هم سمی کالن بزارید.مثلاً:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا پروژه رو Save کنید و یک فایل DLL هم توی پوشه محل ذخیره بوجود میاد !

    این روش ساخت DLL بود. اگه روش فراخوانیش رو هم خواستی بگو تا بنویسم.

    يك چيزه ديگه كه من تاپيك هاي ديگه هم زدم. چرا به آنها جواب نمي دهيد؟
    ممنون.
    دو تا احتمال داره :

    یا عنوان تاپیک توجه من رو جلب نکرده!

    یا بلد نبودم ! (این یکی احتمالش بیشتره!)

  5. #5
    اگه نباشه جاش خالی می مونه soltanmahdi's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    همسایه امام رضا
    پست ها
    347

    پيش فرض

    با سلام خدمت دوستان.
    ادميرال جان لطف كنيد و اين موضوع را تا جايي كه به درد بخوره ادامه بدهيد ممنون مي شم.
    ممنون.

  6. #6
    پروفشنال Admiral's Avatar
    تاريخ عضويت
    Jul 2006
    پست ها
    675

    پيش فرض

    سلام

    روش ایجا فایل DLL رو که گفتم حالا می مونه روش فراخوانی یک تابع یا پروسـجـر از داخل فایل DLL :

    باید در قسمت تعریف توابع برنامه (بعد از implementation) امضای کامل تابع رو بنویسید.

    که امضای تابع شامل نام + پارامترها + نوع بازگشتی میشه.

    بعد نوع فراخوانی رو مشخص میکنید که میتونه StdCall یا Register و ... باشه.

    بعد هم با عبارت External مشخص می کنید روال باید از کدوم DLL لــود بشه.

    نتیجه یه چیزی شبیه این میشه :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توی دلفی اگه نوع فراخوانی رو مشخص نکنی به طور پیش فرض Register در نظر گرفته میشه.

    موفق باشید.

  7. #7
    اگه نباشه جاش خالی می مونه soltanmahdi's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    همسایه امام رضا
    پست ها
    347

    پيش فرض

    با سلام خدمت دوستان.
    ادميرال جان اين كارهايي كه گفتي كردم ولي دفعه اول جواب داد و يك فايل Dll درست كرد ولي دفعات بعد چهار فايل ذخيره مي كرد كه هيچ كدام Dll نبود. چند بار هم امتحان كردم .اگه مي شه بگو مشكل كجاست؟ مطلب ديگه اين كه در مورد نوع فراخواني هم بيشتر توضيح بده؟

  8. #8
    پروفشنال Admiral's Avatar
    تاريخ عضويت
    Jul 2006
    پست ها
    675

    پيش فرض

    ادميرال جان اين كارهايي كه گفتي كردم ولي دفعه اول جواب داد و يك فايل Dll درست كرد ولي دفعات بعد چهار فايل ذخيره مي كرد كه هيچ كدام Dll نبود. چند بار هم امتحان كردم .اگه مي شه بگو مشكل كجاست؟
    بعد از اینکه Save رو زدی یکبار هم Run رو بزن.(کلید F9)

    مطلب ديگه اين كه در مورد نوع فراخواني هم بيشتر توضيح بده؟
    اصلاً نوع فراخوانی رو ننویس خودش پیش فرض Register هست و لازم نیست کار خاصی انجام بدی.

  9. #9
    اگه نباشه جاش خالی می مونه soltanmahdi's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    همسایه امام رضا
    پست ها
    347

    پيش فرض

    با سلام خدمت دوستان.
    ادميرال جان دستت درد نكنه از اين كه راهنماييم كردي.
    ولي وقتي كه مي خواهم كه برنامه را اجرا كنم يك پيغام خطا مي ده به اين مفهوم.
    Can not Debug project unless a host application is defined. use the run|parameters... debug box.

    اصلاً نوع فراخوانی رو ننویس خودش پیش فرض Register هست و لازم نیست کار خاصی انجام بدی.
    كلا براي اطلاعات عمومي گفتم كه نوع فراخواني چي هست و چي كار مي كنه؟
    ممنون.
    Last edited by soltanmahdi; 10-11-2006 at 16:31.

  10. #10
    پروفشنال Admiral's Avatar
    تاريخ عضويت
    Jul 2006
    پست ها
    675

    پيش فرض

    ادميرال جان دستت درد نكنه از اين كه راهنماييم كردي.
    ولي وقتي كه مي خواهم كه برنامه را اجرا كنم يك پيغام خطا مي ده به اين مفهوم.
    Can not Debug project unless a host application is defined. use the run|parameters... debug box
    طبیعیه، چون این فایل اجرایی نیست که اجرا بشه.فقط واسه این گفتم که فایل DLL رو بسازه. فایل DLL رو ساختش ؟

    كلا براي اطلاعات عمومي گفتم كه نوع فراخواني چي هست و چي كار مي كنه؟
    باید با اسمبلی آشنایی داشته باشی تا اساسی مفهومش رو متوجه بشی.

    اینا رو بخون( از Help دلفی) :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by Admiral; 10-11-2006 at 18:00.

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

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

User Tag List

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

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