ورود

View Full Version : استفاده از dll ها در دلفی



1485159
جمعه 12 تیر 1388, 22:08 عصر
چطوری میتون از یه dll استفاده کنم؟
اصلا تا حالا از dll استفاده نکردم.
ورژن دلفی 2009
ممنون.

nice boy
شنبه 13 تیر 1388, 11:14 صبح
اول بايد DLL رو رجيستر کني.
حالا از منوي Componnet-->Import componnent-->import a type library
و سپس فايل مورد نظر رو انتخاب کن در صفحه بعد پالتي رو که مي خواهي کامپوننت توي اون ريخته بشه انتخاب کن و در نهايت گزينه install new package رو انتخاب کن .
حالا به View--->project manager برو و فايل رو install کن

1485159
شنبه 13 تیر 1388, 14:13 عصر
میشه بگین چوری از توابع درون dll استفاده کنم

nice boy
شنبه 13 تیر 1388, 15:19 عصر
میشه بگین چوری از توابع درون dll استفاده کنم
موقعی که مراحلی رو که گفتم انجام دادین DLL مربوطه مثل یک کامپوننت (non visual) قابل اضافه کردن روی فرمهای برنامه است. بعد از اضافه کردن روی یک فرم می تونید یک متغییر از اون نوع تعریف کرده و به توابع داخلش دسترسی داشته باشید.

AliReza Vafakhah
شنبه 13 تیر 1388, 16:34 عصر
من تو سایت جستجو زدم مطلب زیاد بود

ولی خوب این هم یه روش استفاده از توابع DLL در رون یک فایل DLL که در کنار فایل Exe است



implementation

function External_Fun(Par1:DataType): DataType ; external 'DllName.DLL';

روش دیگه ای هم وجود داره که خودت زحمت جستجو رو بکش

MohsenTi
یک شنبه 14 تیر 1388, 11:28 صبح
روش دیگه استفاده از توابع loadlibrary , GetProcAddress هست که البته باید با روش قبلی از داخل dll , kernel32 بیاریشون بیرون ولی احتمالا دلفی خودش این کارو می کنه امتحان کن ببین

mehdimdp
چهارشنبه 28 بهمن 1388, 23:03 عصر
اول بايد DLL رو رجيستر کني.
حالا از منوي Componnet-->Import componnent-->import a type library
و سپس فايل مورد نظر رو انتخاب کن در صفحه بعد پالتي رو که مي خواهي کامپوننت توي اون ريخته بشه انتخاب کن و در نهايت گزينه install new package رو انتخاب کن .
حالا به View--->project manager برو و فايل رو install کن

سلام
این import componnet نیست که .؟؟؟:متفکر:

Mahmood_M
پنج شنبه 29 بهمن 1388, 00:07 صبح
سلام
این import componnet نیست که .؟؟؟
اگه از دلفی 7 استفاده می کنید ، از منوی Project گزینه ی Import Type Library رو انتخاب کنید ، در پنجره ی باز شده می تونید DLL رو Import کنید ...

موفق باشید ...

Batman
پنج شنبه 29 بهمن 1388, 11:44 صبح
اول بايد DLL رو رجيستر کني.
چجوری باید dll رو رجیستر بکنی؟

mehdimdp
پنج شنبه 29 بهمن 1388, 21:42 عصر
اگه از دلفی 7 استفاده می کنید ، از منوی Project گزینه ی Import Type Library رو انتخاب کنید ، در پنجره ی باز شده می تونید DLL رو Import کنید ...

موفق باشید ...

سلام
من وقتی dllام رو Add میکنم با پیغام خطای Error Loading type library/dll مواجه میشم.
لطفا راهنماییم کنید.

nice boy
پنج شنبه 29 بهمن 1388, 21:49 عصر
چجوری باید dll رو رجیستر بکنی؟

می تونی از دستور زیر استفاده کنی. این دستور رو توی Run یا cmd اجرا کن

regsvr32 c:\windows\system32\tiny.ocx

یادت باشه توی آدرس نباید فاصله باشه.



اگه دلفی روی سیستمت نصبه می تونی از دستور زیر هم استفاده کنی

tregsvr c:\my test\myfile.dll

فرقش با بالایی اینکه حتی اگه توی آدرس فاصله هم باشه اجرا می شه.:بوس:

نکته: این دستورات رو توی win xp امتحان کردم ولی تویه win 7 کار نکرد هنوز فرصت نکردم ببینم عیبش چیه.:متفکر:

nice boy
پنج شنبه 29 بهمن 1388, 21:56 عصر
سلام
من وقتی dllام رو Add میکنم با پیغام خطای Error Loading type library/dll مواجه میشم.
لطفا راهنماییم کنید.
من این مشکل رو ندارم، حتی توی دلفی 7 :متفکر:
اگه می خوای فایل dll رو بزار امتحان کنم ببینم مشکل چیه.:لبخندساده:

Mahmood_M
پنج شنبه 29 بهمن 1388, 22:09 عصر
سلام
من وقتی dllام رو Add میکنم با پیغام خطای Error Loading type library/dll مواجه میشم.
لطفا راهنماییم کنید.
این Error زمانی ظاهر میشه که DLL وارد شده برای دلفی قابل قبول نباشه ...

می تونی از دستور زیر استفاده کنی. این دستور رو توی Run یا cmd اجرا کن
regsvr32 c:\windows\system32\tiny.ocx
یادت باشه توی آدرس نباید فاصله باشه.
اگه توی آدرس فاصله بود آدرس رو بین " " قرار بدید ، مثلا :

regsvr32 "c:\windows\system 32\tiny.ocx"
موفق باشید ...

BORHAN TEC
جمعه 30 بهمن 1388, 12:10 عصر
اگر مي خواهيد كه نياز به رجيستر كردن Dll ها نداشته باشيد فقط كافي است كه آن را در كنار برنامه خودتون قرار بدين.
من هم سعي مي كنم تا روزهاي آينده يك مقاله مفصل براي ساختن و استفاده از DLL در سايت قرار بدم تا دوستان هم استفاده كنند.

breceivemail
سه شنبه 05 آذر 1392, 16:15 عصر
DLL این دستگاه رو از کجا آوردین؟ میشه توی این تاپیک هم بگذارین؟
ممنون