سلام خسته نباشید در ویژوال بیسیک میشه سرعت اجرای دستوراتو کم کرد مثلا اگر در vb6 هر دستور یا یه خط کد هر ثانیه یه بار اجرا میشه کاری کنیم هر دوثانیه یه بار اجرا بشه
اخه من برنامه ای که نوشتم فشار زیادی رو برنامه میاره یعنی دستورات سنگینی هستن باید سرعت اجرا کم باشه که هنگ نکنه
دوست عزيز
اين سوالي كه پرسيديد غير منطقي هست اما اگه مشكلتون رو واضح توضيح بديد حتما مي شه كمكتون كرد.
مهدی جان. استاد. فکر کنم این احتیاج به تابع doevent داره.
آقای aleas عزیزم.
اگر توی for یا هر حلقه دیگه ای doevent رو بزاری هنگ نمی کنه دیگه.
بعدم سرعت دستورات تو vb به میزان خیلی زیاد کم هست شما کم تر کنی میشه انسان.
خب به نظرتون چکار کنم چون دستوراتم سنگین هستن مثلا مرطب باکدهای سایت ها پشت سرهم سر کار داره چکار کنم که هنگ میکنه چندلحظه صفحه کاملا سفید میشه و نمیشه پنجره رو تکون داد و بعد چند لحظه درست میشه چکار کنم؟بعضی اوقات هم صفحه سفید نمیشه ولی نمیشه تکونش داد پنجره رو
سلام
میتونی توی دستوراتت وقفه ایجاد کنی.
اما با این توضیحاتی که دادی اگر سورستو قرار بدی بهتر میشه کمکت کرد
دوست عزیز ببخشید ولی نمیتونم تمام سورسو بزارم مثلا یه قسمت از سورس اینه
کد php:
Set rss = CreateObject("msxml2.domdocument")
rss.async = False
rss.Load ("http://www.news110.ir/?feed=rss")
List1.Clear
Me.Refresh
Set myItem = rss.getElementsByTagName("item")
For i = 0 To myItem.length - 1
List1.AddItem myItem(i).getElementsByTagName("link").Item(0).firstChild.nodeValue
Next i
خب حالا همین قسمت از کدو اجرا کنین میبینین چند لحظه هنگ میکنه بعد درست میشه حالا من از این کد با ادرس های متفاوت 10 بار استفاده کردم این کدو چکار کنم که اینطور نشه؟
ضمنن از تابع تابع doevent استفاده کردم ولی بازم تفاوتی نداشت
کل تاخیر شما به خاطر این خطه:
کد:
rss.Load ("http://www.news110.ir/?feed=rss")
و اونم به خاطر این که تابع تا جوابشو از اینترنت نگیره کنترل رو به برنامه بر نمیگردونه.
یه راه حلش Multithreading هسته. که سخته!
خب میشه خودتون این راهی که میگین رو کدی دادم انجام بدی بعد کدو بهم بدین؟
چند نخی تو vb سخته.اگر می خوای هر برنامه ای بنویسی وقتی از mshtml استفاده می کنی یا اگر کامپوننتی استفاده می کنی که از mshtml استفاده می کنه همیشه مشگل هنگ کردن باهات هست. البته راهی که می تونه بهت کمک کنه . update کردن mshtml.dll هست که با نصب internet explorer جدید بهتر میشه. از msnet یا winsock استفاده کن به این مشگلات نمی خوری.
ببخشید میشه بگین منظورتون از mshtml چی؟منظورتون همون اینترنت اکسپلولر هسته؟
چطوری میتونم اپدیتش کنم؟
وضمنن من اینترنت اکسپلولر 9 استفاده میکنم ویژوال ieframe.dll رو نمیشناسه ولی در اینترنت اکسپلولر7 استفاده میکنم با برنامه ای که از نت دانلود کردم مشکل شناسایی رو حل میکنم ولی در اینترنت اکسپلولر 9جواب نمیده
خب الان راهی دگه برای مشکل من نیسته ؟
ضمنن من همیشه از WebBrowser چون راهت ترم !!!!!
وفکر نکنم این کدی گفتم از این کدی شما گفتین استفاده کنه؟
شما کد که بتونم لینک های موجود اراس اس رو بهم بده داری که هنگ نکنه؟
(۲۰-دى-۱۳۸۹, ۱۸:۱۷:۴۸)ajlajlajl نوشته است: [ -> ]کل تاخیر شما به خاطر این خطه:
کد:
rss.Load ("http://www.news110.ir/?feed=rss")
و اونم به خاطر این که تابع تا جوابشو از اینترنت نگیره کنترل رو به برنامه بر نمیگردونه.
یه راه حلش Multithreading هسته. که سخته!
سلام.
فکر نمیکنم تو ویبی عملی باشه. یا شاید من نتونستم پیادش کنم. ولی قبلا رو مالتی ترد تو ویبی کار میکردم. ویبی ارور میداد و بسته میشد.