ورود

نسخه کامل مشاهده نسخه کامل : attempted to read or write protected memory



mnrhm
01-01-2007, 10:38
با سلام
این ارور در برنامه ای که بنده نوشته ام داده می شود ولی نکته اینجاست که در سیستم خودم این ارور داده نمی شود ولی در سیستم دیگران داده می شود می خواستم راهنمایی کنید که اصولا این ارور در چه مواقعی داده می شود در ضمن من در برنامه ام از چند ترد استفاده کرده ام
با تشکر

someone
01-01-2007, 12:33
سلام.
چند دلیل میتونه داشته باشه .
1-وقتی که دو یا چند برنامه دارن از یک resource مشترک استفاده میکنن.
2- مدل داده تون (data model) درست نباشه یا به اصطلاح corrupted شده.
3-برنامه سعی میکنه در یک read only segment از حافظه بنویسه که البته در kernel mode ایناتفاق می افته.
در مورد برنامه تون بیشتر توضیح بدید.
اگه برنامه رو سیستم شما اجرا میشه و دیگران نمیتونن از برنامتون استفاده کنن به چند مورد دقت کنید:
حالت login سایر سیستم ها رو چک کنید چون ممکنه limited account باشند.
دقت کنید که سایرین از چه firewall یا Antivirus ی استفاده می کنن.
به نسخه ی Netframework. ی که شما ازش استفاده کردید و رو سایر سیستم ها نصب هست دقت کنید.
گزینه ی آخر خیلی مهم هست.
در ضمن میتونید از error log سیستم هایی که برنامه روش اجرا نمیشه استفاده کنید.
اگه مشکل حل نشد اطلاع بدید.
ممنون.

mnrhm
03-01-2007, 09:12
اکانت شخص ثالث ادمین است و نسخه فریم ورک هم 2 است
این متد در داخل یک ترد فراخوانی می شود که این ترد با کلیک کردن روی دکمه ای فعال می شود
در این قسمت از متد یک فایل اکسل باز می شود تا محتویات آن خوانده شود
در قسمت قرمز رنگ ارور داده می شود

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

someone
03-01-2007, 14:48
سلام.
کدتون رو باید تغییر بدید.
شما ازین متود در یک Thread استفاده میکنید و هر بار یک reference جدید ایجاد میکنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ضمنا در Thread هر بار متود Open رو Call میکنید که اصلا نیازی نیست.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای خوندن محتویات فایل Excel کافی تنها از Range interface در Thread استفاده کنید.
(معمولا نیازی به استفاده از Thread نیست. )
من یه نمونه براتون میذارم :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

از این دومتود در Constructor کلاس مورد نظرتون استفاده کنید (مثلا form) و تنها یک بار اجرا شون کنید.
برای خوندن data هم از این نمونه میتونید استفاده کنید.که البته در این متود از for استفاده شده
که شما میتونید طوری طراحیش کنید که در یک Thread ازون استفاده بشه.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اگه مشکلی پیش اومد اطلاع بدید.