امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش ساخت dll و کار با اون
نویسنده پیام
jafar5401 آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 6
تاریخ عضویت: شهریور ۱۳۸۵

تشکرها : 0
( 1 تشکر در 1 ارسال )
ارسال: #1
آموزش ساخت dll و کار با اون
یکی ساخت dll و کار با اونو توضیح بده . لطفا !
با تشکر Whistle
(آخرین ویرایش در این ارسال: ۱۶-آبان-۱۳۸۶, ۲۳:۵۶:۴۲، توسط Darg.)
۳۱-شهریور-۱۳۸۵, ۱۳:۵۳:۱۵
ارسال‌ها
پاسخ
Pedram_HookEx آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 459
موضوع‌ها: 23
تاریخ عضویت: خرداد ۱۳۸۴

تشکرها : 1
( 109 تشکر در 65 ارسال )
ارسال: #2
RE: یکی ساخت dll و کار با اونو توضیح بده . لطفا !
خوب طریقش اینجوریه که

اول که ویژوال بیسیک رو باز کردید از منوی فایل گزینه New Project رو انتخاب میکنید

حالا یک لیست جلوتون هست از انواع پروژه ها که شما ActiveX Dll رو انتخاب میکنید
خوب با این کار نداریم من تمام این کارا رو قبلا کردم


توی این مثالی که من گذاشتم دوتا پروژه هست که یکیش پروژه prjDll هست و دیگری یه برنامه prjExe هست که برای فراخوانی Dll طراحی شده
شما بدون دست کاری نامی پروژه prjDll رو کمپایل کنید حالا سراغ پروژه prjExe بروید و آن را باز کنید

قسمت References در منوی Project را باز کنید گزینه ای به نام (کنترول ریاضی) میبینید که این همان Dll ماست که به برنامه اضافه شده که این کار رو من خودم توسط دکمه Browse انجام دادم

حالا وقتی به پنجره کد برمیگردید طریقه تعریف این Dll رو میبینید و احتمالا در نظر شما طریقه فراخوانی این Dll با فراخوانی بقیه Dll ها فرق میکنه
اگر با API ها اشنا باشید تفاوت فراخوانی توابع رو در این Dll که ما خودمون درست کردیم و Dll های دیگه که ما توابع اونها رو فراخونی میکنیم رو به راحتی میبینید

در این خط
کد:
Set Ps = New Mohasebeh

شما باید DataType خود که همان Ps هست را با استفاده از دستور Set در پروژه Classify کنید و تا بصورت یک Object در فرم تعریف بشه

دلیل اینکه از دستور Set استفاده کردیم این هست که DataType ما از نوع Complex یا پیچیده هست
و در این صورت است که موظف به انجام چنین کاری میشیم


این نوع فراخوانی Dll به طور معمول برای Dll هایی جواب میدهد که در VB طراحی شده باشد و همچنین این نوع فراخوانی نیز مختص VB هست

راستی اینو نگفتم که استفاده از Dll اصلا چه فایدهای داره
خوب فایدش در جاهایی مفید واقع میشه که ما نیاز یه استفاده از چندین حلقه Global داریم یا در حال خواندن حافظه با حجم بالا هستیم یا نیاز به محاسبات ریاضی با حجم بسیار بالا داریم و دلیل اینکه با استفاده از Dll سرعت برنامه کمی بالاتر میره اینه که ما درواقع از یک Instance دیگه در برناممون کمک گرفتیم که در این صورت به حجم بالاتری از اطلاعات میتونیم پاسخ بدیم

اینم سورس برنامه

خیلی ساده و مفید نوشتم که مشکلی پیش نیاد
موفق باشی

_______________________________________________________________________________
  • کشف الکتریسیته توسط پارتها برای اولین بار کلیک کنید
  • 135 نکته و آموزش از سطح پایین تا پیشرفته در غالب مثال های کوچک و قابل فهم (حجم 97KB)لینک دانلود
  • 101 آموزش پیشرفته ویژوال بیسیک. حتما دانلود کنید(حجم 314KB)لینک دانلود
  • اینم یه کتابچه ویژوال بیسیک برا اونایی که میخوان برنامه نویسی رو شروع کنن(حجم 916KB)لینک دانلود
  • تمام نکات و ترفند های مهم در ویندوز XP حتما دانلود کنید(حجم 86KB)لینک دانلود[تصویر:  new4.gif]
  • بروزرسانی ویژوال بیسک 6 به آخرین نسخه یعنی سرویس پک 6 (حجم 61MB)لینک دانلود[تصویر:  new4.gif]

(آخرین ویرایش در این ارسال: ۳۱-شهریور-۱۳۸۵, ۱۸:۱۸:۲۱، توسط Pedram_HookEx.)
۳۱-شهریور-۱۳۸۵, ۱۸:۰۵:۴۵
ارسال‌ها
پاسخ
jafar5401 آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 6
تاریخ عضویت: شهریور ۱۳۸۵

تشکرها : 0
( 1 تشکر در 1 ارسال )
ارسال: #3
RE: یکی ساخت dll و کار با اونو توضیح بده . لطفا !
از پاسخت خیلی ممنونم.واقعا باحالی!
۳۱-شهریور-۱۳۸۵, ۱۸:۵۹:۰۰
ارسال‌ها
پاسخ
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #4
RE: یکی ساخت dll و کار با اونو توضیح بده . لطفا !
نقل قول: دلیل اینکه از دستور Set استفاده کردیم این هست که DataType ما از نوع Complex یا پیچیده هست
منظورت اینه که با این کد فرق داره؟
کد:
Dim ps as new Mohasebe

نقل قول: خوب فایدش در جاهایی مفید واقع میشه که ما نیاز یه استفاده از چندین حلقه Global داریم یا در حال خواندن حافظه با حجم بالا هستیم یا نیاز به محاسبات ریاضی با حجم بسیار بالا داریم و دلیل اینکه با استفاده از Dll سرعت برنامه کمی بالاتر میره اینه که ما درواقع از یک Instance دیگه در برناممون کمک گرفتیم که در این صورت به حجم بالاتری از اطلاعات میتونیم پاسخ بدیم
یکم بیشتر در مورد این توضیح بده. اگه واقعا سرعت محاسلات ریاضی رو زیاد می کنه خیلی بدرد من میخوره! (مخصوصا تو حلقه)

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۳۱-شهریور-۱۳۸۵, ۲۰:۴۲:۳۷
ارسال‌ها
پاسخ
Pedram_HookEx آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 459
موضوع‌ها: 23
تاریخ عضویت: خرداد ۱۳۸۴

تشکرها : 1
( 109 تشکر در 65 ارسال )
ارسال: #5
RE: یکی ساخت dll و کار با اونو توضیح بده . لطفا !
نه این کد شما هم دقیقا اون کار رو میکنه اینجا در این پروژه از کد شما میشه استفاده کرد ولی در همه جا از عهده تعریف این نوع دادهها بر نمیاد اما روش کلی همونی بود که در پروژه تعریف شده

Spider جان بزار برات راحتتر توضیح بدم هر CPU چندتا مؤلفه داره که یکی از اونا Clock هست
مثلا اگه یه Cpu دارای Clock=1000 یعنی میتونه که در یک ثانیه 1000 پالس منطقی رو تولید کنه

خوب اینا مقدمه بود با توجه به این CPU یک سیر چرخشی رو طی میکنه که طی اون به درخواست هایی که ازش میشه پاسخ میده حالا شما وقتی که از دو Instance استفاده میکنی Cpu برای شما دوتا CallTime رو رزرو میکنه که در طی اون مسیرش به هر دو درخواست شما پاسخ میده بدین صورت شما میتونی در هر دوره دو بار درخواست داشته باشی و به موازاتش هم دوبار پاسخ
که باعث افزایش سرعت میشه البته این افزایش زمانی محسوس هست که CPU Usage زیاد نباشه


_______________________________________________________________________________
  • کشف الکتریسیته توسط پارتها برای اولین بار کلیک کنید
  • 135 نکته و آموزش از سطح پایین تا پیشرفته در غالب مثال های کوچک و قابل فهم (حجم 97KB)لینک دانلود
  • 101 آموزش پیشرفته ویژوال بیسیک. حتما دانلود کنید(حجم 314KB)لینک دانلود
  • اینم یه کتابچه ویژوال بیسیک برا اونایی که میخوان برنامه نویسی رو شروع کنن(حجم 916KB)لینک دانلود
  • تمام نکات و ترفند های مهم در ویندوز XP حتما دانلود کنید(حجم 86KB)لینک دانلود[تصویر:  new4.gif]
  • بروزرسانی ویژوال بیسک 6 به آخرین نسخه یعنی سرویس پک 6 (حجم 61MB)لینک دانلود[تصویر:  new4.gif]

(آخرین ویرایش در این ارسال: ۳۱-شهریور-۱۳۸۵, ۲۱:۴۴:۳۷، توسط Pedram_HookEx.)
۳۱-شهریور-۱۳۸۵, ۲۱:۴۱:۵۹
ارسال‌ها
پاسخ
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #6
RE: یکی ساخت dll و کار با اونو توضیح بده . لطفا !
چطور به دو تا درخواست جواب میده! من که کد dll رو تو یه حلقه گذاشتم گیر کرد!

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۳۱-شهریور-۱۳۸۵, ۲۳:۱۴:۵۴
ارسال‌ها
پاسخ
Pedram_HookEx آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 459
موضوع‌ها: 23
تاریخ عضویت: خرداد ۱۳۸۴

تشکرها : 1
( 109 تشکر در 65 ارسال )
ارسال: #7
RE: یکی ساخت dll و کار با اونو توضیح بده . لطفا !
spiderman نوشته است:من که کد dll رو تو یه حلقه گذاشتم گیر کرد!
QuestionAmaze

کد Dll رو تو یه حلقه گذاشتی

مطمئنی منظورت همینه یکمی بیشتر توضیح بده ببینم چکار میخوای بکنی

_______________________________________________________________________________
  • کشف الکتریسیته توسط پارتها برای اولین بار کلیک کنید
  • 135 نکته و آموزش از سطح پایین تا پیشرفته در غالب مثال های کوچک و قابل فهم (حجم 97KB)لینک دانلود
  • 101 آموزش پیشرفته ویژوال بیسیک. حتما دانلود کنید(حجم 314KB)لینک دانلود
  • اینم یه کتابچه ویژوال بیسیک برا اونایی که میخوان برنامه نویسی رو شروع کنن(حجم 916KB)لینک دانلود
  • تمام نکات و ترفند های مهم در ویندوز XP حتما دانلود کنید(حجم 86KB)لینک دانلود[تصویر:  new4.gif]
  • بروزرسانی ویژوال بیسک 6 به آخرین نسخه یعنی سرویس پک 6 (حجم 61MB)لینک دانلود[تصویر:  new4.gif]

۳۱-شهریور-۱۳۸۵, ۲۳:۳۶:۳۹
ارسال‌ها
پاسخ
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #8
RE: یکی ساخت dll و کار با اونو توضیح بده . لطفا !
عجله ای شد !

منظورم این بود که کدی که تو dll بود یه حلقه بود. یعنی با فرا خوانی تابع تو dll یه حلقه اجرا می شد. من با این توضیحات انتظار داشتم برنامه به کاره خودش ادامه بده!
این اصطلاحات هم یکم برا من سنگینه! Biggrin رعایت سن و حال ما رو بکن!

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۳۱-شهریور-۱۳۸۵, ۲۳:۴۶:۵۰
ارسال‌ها
پاسخ
Pedram_HookEx آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 459
موضوع‌ها: 23
تاریخ عضویت: خرداد ۱۳۸۴

تشکرها : 1
( 109 تشکر در 65 ارسال )
ارسال: #9
RE: یکی ساخت dll و کار با اونو توضیح بده . لطفا !
آخه من گفتم سرعت بالا میره ولی دیگه نگفتم که مثل آینه برات کار میکنه

آخه بستگی به حلقت هم داره

در این مواقع به دلیل اینکه مثلا این کد رو که اجرا کنی

کد:
MyNumber = ProcessAll(123, 1233)

تا حلقه ای که درون Dll شماست تموم نشده برنامه به خط بعدی نمیره و برا این کار باید از Event یا همون رویداد استفاده کنی که برنامه خودت رو منتظر پاسخ نزاری و روند عادی برنامه طی بشه و هر موقع حلقه تموم شد از طریق رویداد باخبر بشی

حالا اون حلقت چکار میکنه که باعث قفل برنامت شده
راستی از DoEvent هم استفاده کن



اینم برا اونایی که از روش فراخونی قبلی بدشون میادAngry
کد:
Dim Ps
Set Ps = CreateObject("Prjdll.Mohasebeh")
Me.Caption = Ps.Jam_Kon(12, 12)
Set Ps = Nothing

با این روش هم میتونید Dll رو فراخونی کنید
این روش اکثرا در صفحات و زبانهای PHP و Asp و VBS و ... استفاده میشه و یه جورایی باحالتر هم هست چون خودمون مستقیم به Dll وصل میشیم و اونو فراخونی میکنیم



_______________________________________________________________________________
  • کشف الکتریسیته توسط پارتها برای اولین بار کلیک کنید
  • 135 نکته و آموزش از سطح پایین تا پیشرفته در غالب مثال های کوچک و قابل فهم (حجم 97KB)لینک دانلود
  • 101 آموزش پیشرفته ویژوال بیسیک. حتما دانلود کنید(حجم 314KB)لینک دانلود
  • اینم یه کتابچه ویژوال بیسیک برا اونایی که میخوان برنامه نویسی رو شروع کنن(حجم 916KB)لینک دانلود
  • تمام نکات و ترفند های مهم در ویندوز XP حتما دانلود کنید(حجم 86KB)لینک دانلود[تصویر:  new4.gif]
  • بروزرسانی ویژوال بیسک 6 به آخرین نسخه یعنی سرویس پک 6 (حجم 61MB)لینک دانلود[تصویر:  new4.gif]

(آخرین ویرایش در این ارسال: ۰۱-مهر-۱۳۸۵, ۰۱:۳۵:۲۰، توسط Pedram_HookEx.)
۰۱-مهر-۱۳۸۵, ۰۰:۰۷:۲۹
ارسال‌ها
پاسخ
shamsoft آفلاین
كاربر دو ستاره
**

ارسال‌ها: 152
موضوع‌ها: 32
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 0
( 7 تشکر در 6 ارسال )
ارسال: #10
RE: یکی ساخت dll و کار با اونو توضیح بده . لطفا !
آقا پدارم حالا كه اينو توضيح داديد يه زحمتي براي منم بكشيد و درست كردن اكتيواكس رو هم توضيح بديد.البته اگه وقت داشته باشيد
۰۱-مهر-۱۳۸۵, ۱۵:۲۹:۳۲
وب سایت ارسال‌ها
پاسخ
Pedram_HookEx آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 459
موضوع‌ها: 23
تاریخ عضویت: خرداد ۱۳۸۴

تشکرها : 1
( 109 تشکر در 65 ارسال )
ارسال: #11
RE: یکی ساخت dll و کار با اونو توضیح بده . لطفا !
سلام عزیز

رو چشم امروز یا فردا میزارم رو سایت چون میدونی که دانشگاه و درس و... شروع شدن البته اولش الافیه ولی من اینو میزارم
فقط میمونه یه چیز
منظورت کدوم نوع ActiveX هست چون تاپیک راجع ActiveX Dll بود حالا شما منظورت ActiveX Control هست یا....


_______________________________________________________________________________
  • کشف الکتریسیته توسط پارتها برای اولین بار کلیک کنید
  • 135 نکته و آموزش از سطح پایین تا پیشرفته در غالب مثال های کوچک و قابل فهم (حجم 97KB)لینک دانلود
  • 101 آموزش پیشرفته ویژوال بیسیک. حتما دانلود کنید(حجم 314KB)لینک دانلود
  • اینم یه کتابچه ویژوال بیسیک برا اونایی که میخوان برنامه نویسی رو شروع کنن(حجم 916KB)لینک دانلود
  • تمام نکات و ترفند های مهم در ویندوز XP حتما دانلود کنید(حجم 86KB)لینک دانلود[تصویر:  new4.gif]
  • بروزرسانی ویژوال بیسک 6 به آخرین نسخه یعنی سرویس پک 6 (حجم 61MB)لینک دانلود[تصویر:  new4.gif]

۰۱-مهر-۱۳۸۵, ۱۶:۱۷:۲۳
ارسال‌ها
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS