امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
استفاده از Addressof با پارامتر
نویسنده پیام
yeketaz آفلاین
کاربر با تجربه
****

ارسال‌ها: 744
موضوع‌ها: 123
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 520
( 1050 تشکر در 294 ارسال )
ارسال: #1
استفاده از Addressof با پارامتر
با سلام به همگی

من می خواستم بدونم چه جوری می شه هنگام کار با Addressof پارامترها را هم فرستاد

یعنی اینجوری

(Addressof Add(1,2

البته مثلا کد بالا رو در تابع Settimer به کار بردیم

من تا حالا اطلاعات رو توی یک متغیر ذخیره و از اون طریق توی تابع تصمیم گیری می کردم

ولی هم کار بیشتری رو می خواد و هم حجم برنامه زیاد می شه

ما که دیگه توی ایران ویج پیر شدیم 040 کم کم باید جامون رو بدیم به جوونا 028
۰۴-مرداد-۱۳۸۷, ۲۰:۴۱:۱۵
وب سایت ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #2
RE: استفاده از Addressof با پارامتر
نقل قول: من می خواستم بدونم چه جوری می شه هنگام کار با Addressof پارامترها را هم فرستاد

مطمعنا شما دقیقا نمیدونید Addressof چیکار میکنه ! Amaze
Addressof آدرس مربوط به یک تابع در حافظه رو به یک تابع CALLBACK میفرسته . ( توابع CALLBACK توابعی هستند که توسط سیستم عامل در برنامه شما صدا زده میشن )
معمولا توابع CALLBACK توی زبان VB که Event-Driven هست کاربرد زیادی نداره اگرچه بعضی مواقع در زمان کار با توابع API مثل Settimer نیاز میشن ( چون API با زبان C نوشته شدن )

روش کار توابع CALLBACK به این شکل هست که شما به عنوان برنامه نویس باید آدرس تابعی که تو برنامه نوشتین رو به تابع سیستم عامل بدین تا اون بدونه که در زمان مناسب ( مثلا در تابعی مثل Settime زمان مناسب همون تیک های ساعت هست ) کدوم تابع در برنامه شما رو به طور اتوماتیک صدا بزنه . فرمت تابعی که شما به عنوان CALLBACK معرفی میکنید توسط تابع سیستم عامل تعیین میشه نه شما .... پس اگر هم قرار باشه پارامتری به برنامه شما ارسال بشه اینکار باید توسط فرمت تابع CALLBACK مربوطه مجار باشه . تابعی که باید به عنوان CALLBACK به Settimer معرفی کرد پارامتر های خاص خودش رو نیاز داره ... اینم فرمت تابعی که باید شما به عنوان CALLBACK تعریف کنید :
http://msdn.microsoft.com/en-us/library/...S.85).aspx

نکته جالبی در مورد تایمر خود وی بی هست که گفتنش بد نیست . همون طور که میدونید اولا تایمر وی بی به نظر دقیق نمیاد و ثانیا تایمر وی بی رو نمیتونید توی پروژه های بدون پنجره بکار ببرید !! علت این قضیه اینه که وی بی از توابع CALLBACK برای تایمر های خودش استفاده نمیکنه بلکه وابسته به پیغام WM_TIMER هست که به صف پیغام های پنجره ارسال میشه ( اگر شما در تابع SetTimer بجای آدرس تابع CALLBACK مقدار صفر بفرستید این مکانیسم پیش گرفته میشه )
متاسفانه پیغامهای WM_TIMER دارای تقدم پایینی در صف پنجره هستند و این باعث میشه که به کندی پردازش بشن . همین عاملی برای کندی تایمر وی بی و کمبود دقت عملکرد اونه !! Cool

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
(آخرین ویرایش در این ارسال: ۰۴-مرداد-۱۳۸۷, ۲۱:۵۸:۳۲، توسط Mamad2003.)
۰۴-مرداد-۱۳۸۷, ۲۱:۵۷:۵۸
ارسال‌ها
پاسخ
تشکر شده توسط : amirjan


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  ارسال پارامتر به برنامه ی در حال اجرا. Blossom 42 27,149 ۰۹-اسفند-۱۳۹۳, ۲۲:۴۴:۱۶
آخرین ارسال: 9988
  استفاده از پارامتر در اجرا برای process Scorpion 5 5,427 ۱۲-مهر-۱۳۸۸, ۰۰:۳۷:۴۵
آخرین ارسال: Scorpion
  استفاده از پارامتر برای برنامه surpriser 1 1,484 ۰۹-شهریور-۱۳۸۷, ۲۳:۵۹:۱۲
آخرین ارسال: ajlajlajl
  سطری از جدول به عنوان پارامتر یک تابع sanam 1 1,924 ۰۵-خرداد-۱۳۸۶, ۱۲:۳۲:۴۹
آخرین ارسال: areza
at پارامتر نويسي در وي بي MH12 6 3,296 ۰۹-شهریور-۱۳۸۵, ۱۵:۴۸:۰۵
آخرین ارسال: MH12

پرش به انجمن:


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

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