ايران ويج

نسخه‌ی کامل: راه حل Multi Threading امن در VB6 ???
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام دوستان .
آیا راه حلی برای برنامه نویسی چند ریسمانی امن در VB6 وجود داره ؟
شدیدا نیاز به Multi Threading دارم اما از هر دری که وارد می شوم با Crash کردن برنامه مواجه می شوم Shy
سلام.
اینو ببین.
سلام.
پیمان جان اینو قبلا چک کردم . برنامه کامپایل شده کرش میکنه :((
من vb کار نکردم ولی مولتی ترد امن به خودی خود مشکلی نداره مثلا ممکنه از یک منبع توسط دو ترد همزمان استفاده میکنی
کدی که نوشتی را بزار ببینن بچه ها... ندید که نمیشه گفت مشکل چیه..
فکر کنم ترید رو می سازی می سپری به امون خدا دیگه مدیریتی برای بستن تریدهای باز و ... نداری

ولی تا سورس رو نبینیم نمی شه چیزی گفت
سلام دوستان .

ببخشید که دیر جواب دادم ، یه چند روزی میشه که اینترنت درست حسابی ندارم .

نقل قول: من vb کار نکردم ولی مولتی ترد امن به خودی خود مشکلی نداره
جوکر جان این حرف در مورد VB6 صدق نمی کنه ، مشکل VB6 با مولتی ترد یه مشکل ذاتی هست متاسفانهSad
VB6 که اصلا مولتی ترد رو پشتیبانی نمیکنه ، باید دست به دامن CreateThread API شد که اون هم....

نقل قول: فکر کنم ترید رو می سازی می سپری به امون خدا دیگه مدیریتی برای بستن تریدهای باز و ... نداری
مهدی جان مشکل از این موارد نیست ، هر تردی که ساخته میشد هم می بستم اما بازم در اکثر مواقع با صحنه دل خراش CRASH شدن برنامه مواجه میشدم .
البته بیشتر مواقع این مشکل در برنامه کامپایل شده پیش میاد .

نقل قول: کدی که نوشتی را بزار ببینن بچه ها... ندید که نمیشه گفت مشکل چیه..
نقل قول: ولی تا سورس رو نبینیم نمی شه چیزی گفت

من دنبال یک روش درست درمون بودم که ازش استفاده کنم اما متاسفانه به جایی نرسیدم :(
به هر حال این یک نمونه خیلی ساده (اکثرا وقتی از داخل IDE اجرا بشه Crash نمیکنه اما بعد کامپایل...) ، ممنون از اینکه بررسی می کنید .

تو پروپرتيس پروژه تب Compile گزينه Compile to P-Code رو انتخاب کن
کد:
Public Sub AsyncThread()
Sleep 1000
Form1.Caption = "Thread ejra shod"
'MsgBox Time
hThread = 0
End Sub

ولی باز امکان کرش کردن هميشه وجود داره.
برو سمت vb.net


سلام مجتبی جان .
بازم برنامه Crash کرد :(
مجتبی جان با توجه به ماهیت پروژه نمیشه از .Net استفاده کنم ، اگر نه با VB.Net یا C# ردیفش می کردم .
نقل قول: جوکر جان این حرف در مورد VB6 صدق نمی کنه ، مشکل VB6 با مولتی ترد یه مشکل ذاتی هست متاسفانهSad
VB6 که اصلا مولتی ترد رو پشتیبانی نمیکنه ، باید دست به دامن CreateThread API شد که اون هم....
خب منظورم استفاده از همین api ها بود ، که ظاهرا الان یه سرچی زدم vb با api استاندارد ویندوز هم مشکل داره :)
و کلا مولتی ترد که بشه قاط میزنه .

بگو میخوای چیکار کنی با این تردها تا یه راه حل دیگه بهت پیشنهاد بدیم
نقل قول: بازم برنامه Crash کرد :(
تو ديباگ کرش ميکنه اما کامپايل شده اش کرش نميکنه

نقل قول: مجتبی جان با توجه به ماهیت پروژه نمیشه از .Net استفاده کنم ، اگر نه با VB.Net یا C# ردیفش می کردم .
اگه مشکلت با فريم ورک هست که الان ديگه بيشتر ويندوز ها فریم ورک 2 رو نصب دارن اگه هم نصب نداشته باشند هجمش تنها 23 مگ هست.
اين راه حل هم با توجه به پروژه ات ميتونی در نظر داشته باشی: يه کامپوننت با vb.net برای اين قسمت پروژه ات بساز و تو vb6 ازش استفاده کن

سلام .
نقل قول: تو ديباگ کرش ميکنه اما کامپايل شده اش کرش نميکنه
کامپایل شده هم کرش می کنه .

نقل قول: اين راه حل هم با توجه به پروژه ات ميتونی در نظر داشته باشی: يه کامپوننت با vb.net برای اين قسمت پروژه ات بساز و تو vb6 ازش استفاده کن

فکر خوبیه البته اگه بشه از کامپوننت های .Net تو VB6 استفاده کرد .

مجتبی جان شما خودت تاحالا از کامپوننت های .Net تو VB6 استفاده کردی ؟

البته اگه این کار با Delphi انجام بشه عالی میشه .
صفحه‌ها: 1 2