PDA

View Full Version : خطای Index was outside the bounds of the array.



yaserzare
پنج شنبه 22 شهریور 1386, 13:48 عصر
من یک image list به برنامه ام اضافه کردم و از این در list view برای آیکن آیتم ها استفاده کزدم
ولی وقتی imageهای imagelist را عوض میکنم از همان image های قبلی استفاده میکنه
و وقتی imagelist را پاک میکنه و یا نام آن را عوض میکنی خطای Index was outside the bounds of the array. را میده.
به نظر شما دوستان مشکل از کجاست.

saeed_rezaei
پنج شنبه 22 شهریور 1386, 22:58 عصر
سلام.
تصاویری که در image list در داخل آرایه ای ذخیره می شن، و هر آرایه شماره اندیکس داره، حالا ممکنه توی کد برنامه جایی که تصاویر رو عوض می کنید، یه جایی خواستید به آرایه ای دسترسی داشته باشید که اندیکس اون وجود نداره.
به یاد داشته باشید که آرایه ها از صفر مقدار دهی می شوند، لذا چنانچه 4 تا تصویر به image list اضافه کنید، آخرین تصویر در ارایه شماره 3 ذخیره می شه.

yaserzare
جمعه 23 شهریور 1386, 00:43 صبح
مشکل از این نیست
چون موقعی هم که اصلا از این ایندکس ها استفاده نمیکنم همین پیغام را میده.

saeed_rezaei
جمعه 23 شهریور 1386, 11:53 صبح
خوب مشخص کنید که چه زمانی این پیغام ایجاد می شه.

yaserzare
جمعه 23 شهریور 1386, 15:03 عصر
قبل از load شدن فرم ومتن کامل خطا به صورت زیر است.

An error occurred creating the form. See Exception.InnerException for details. The error is: Index was outside the bounds of the array.

saeed_rezaei
شنبه 24 شهریور 1386, 00:04 صبح
سلام.
خیلی وقتها این مشکل پیش می یاد. این خطا از بیشتر اوقات از سوی دو کنترل ممکنه ارسال بشه. یکی image list هست و دیگری کنترلی که تصاویر رو از اون استفاده می کنه.
در مواقعی که از سوی کنترل دومی باشه، مشکل به خاطر اینه که شما در فرمتون به نحوی کد نویسی کردید که برنامه هنگام اجرا شدن، می خواد دسترسی به اون تصاویر داشته باشه در صورتی که ممکنه هنوز کنترل image list ساخته نشده باشه و یا اینکه هنوز تصاویر وارد نشده باشن.
مطمئنا شما خودتون هم اطلاع دارید که برنامه به صورت گام به گام اجرا می شه. اکثر این جور خطاها به دلیل اینه که شما هنوز توی گام اول هستید و می خواید کدهای گام سه رو اجرا کنید.
پیشنهاد می کنم به کدهاتون برگدید. جاهایی رو که مقادیر پیش فرض می دید رو بررسی کنید و بیشتر دقت خودتون رو روی این قضیه متمرکز کنید که دقیقا پس از اجرا کدام خط ها این مشکل پیش می یاد.
گاهی اوقات که پیدا کردن خط کدهای مورد دار ممکن پذیر نیست، بهتره که کدهای مشکوک رو موقتا غیر فعال کرده و سپس برنامه رو اجرا کنید.
مثل اینکه خیلی پراکنده گویی کردم.

yaserzare
شنبه 24 شهریور 1386, 07:47 صبح
متاسفانه مشکل از این هم نیست !
چون هم imagelist و هم listview رو پاک کردم و از اول ابتدا imagelist و بعد هم listview رو ساختم ولی بازهم همون پیغام An error occurred creating the form. See Exception.InnerException for details. The error is: Index was outside the bounds of the array رو میده

saeed_rezaei
شنبه 24 شهریور 1386, 09:38 صبح
سلام دوست عزیز.
اگه برنامه تون محرمانه نیست یه نسخه از برنامه تون رو واسم ایمیل بزنید یا اینکه اون فرمی رو که مشکل توش هست، رو واسم ایمیل کنید. اینجوری با یقین می شه گفت مشکل چی هست.
srezaii2000@yahoo.com