PDA

View Full Version : سوال: آرایه دو بعدی و پیغام خطای overflow



sarakh
سه شنبه 01 تیر 1389, 22:22 عصر
سلام من یه برنامه نوشتم که یه آرایه دو بعدی داره.آرایه رو چه از نوع long باشه یا integerوقتی تعداد سطرها از 32767 بیشتر می شه پیغام خطای overflow می ده.
برای رفع این خطا چه کار کنم؟؟؟؟؟؟؟

Altech
سه شنبه 01 تیر 1389, 22:36 عصر
آرایه چند در چند هست ؟
احتمالا مشکل کمبود حافظه هست که در آرایه های دو بعدی بزرگ پیش میاد .

Dr.Bronx
سه شنبه 01 تیر 1389, 22:37 عصر
کدی که استفاده کردید رو قرار بدید .
احتمالا Redim کردید و اونجا به این مشکل خوردید

از MSDN


Q.
I want to use Visual Basic 6.0 to create programs that have very large arrays in them, what is the maximum size of an array that Visual Basic 6.0 can handle?

A.
The size limit of an array in Visual Basic 6.0 would actually be limited to the size of the index for that array. The index cannot be greater than the maximum of a 32-bit value (2147483648). In reality though, the application would run out of memory first. Windows NT® only supports 4 GB of memory in a single process.

http://msdn.microsoft.com/vbasic/previous/vb6/techfaq.aspx

موفق باشید ./

sarakh
چهارشنبه 02 تیر 1389, 11:09 صبح
آرایه mis(60000,10)as long
برنامه رو فرستادم لطفا راهنمایی کنین.اگر مشکل کمبود حافظه داره از چه روش دیگه ای می شه استفاده کرد؟؟؟

Dr.Bronx
چهارشنبه 02 تیر 1389, 13:12 عصر
در ساب Command2 متغیر هایی که تعریف کردید رو به این شکل تغییر بدید .

Dim i As Integer, j As Integer, g As Integer, d As Integer, y As Integer, parent As Integer, X(1 To 9) As Double

من تا n تا 9 امتحان کردم overflow نشد .

موفق باشید ./

sarakh
پنج شنبه 03 تیر 1389, 11:22 صبح
در ساب Command2 متغیر هایی که تعریف کردید رو به این شکل تغییر بدید .

Dim i As Integer, j As Integer, g As Integer, d As Integer, y As Integer, parent As Integer, X(1 To 9) As Double

من تا n تا 9 امتحان کردم overflow نشد .

موفق باشید ./

سلام همین کاری که گفتید رو انجام دادم بعد از گذشت 55 دقیقه پیغام over flow رو داد.
نمی دونم شاید به متغییر matn هم ربط داشته باشه که به عنوان اندیس برای سطر آرایه استفاده می شه.نظر شما چیه؟؟؟؟؟؟؟؟
من برای این ورودی پیغم overflow رو گرفتم...............بعد از 55 دقیقه.
3 1 2
5 0 4
6 7 8

sarakh
جمعه 04 تیر 1389, 09:55 صبح
مشکل از متغیر matnهست.این متغییر رو از چه نوعی تعریف کنم که بتوونه تا مقداره 60000 رو ذخیره کنه؟؟؟؟؟؟؟؟؟؟؟
ممنون.