ورود

View Full Version : سوال: خطای This array is fixed or temporarily locked (شماره خطا 10)



abolfazl-z
دوشنبه 16 مرداد 1391, 16:01 عصر
سلام دوستان

کسی از دوستان میدونه این خطا برای چی است؟ (روی آرایه رخ میده )
اینم کدی که خطا میگیره :

ReDim Preserve AddTo(1 To b) As String

:متفکر::متفکر::متفکر::متفکر:: تفکر::متفکر:

ho3ein.3ven
دوشنبه 16 مرداد 1391, 16:48 عصر
سلام . احتمالا اول که آرایه رو تعریف کردین طول اون رو مشخص کردین و بعد اینکه می خواید طولش رو تغییر بدین نمیشه . اول برای تعریف آرایه نباید طول رو مشخص کنید. به صورت زیر :
Dim addto() As String
b = 7
ReDim Preserve addto(1 To b) As String

abolfazl-z
دوشنبه 16 مرداد 1391, 18:32 عصر
دوست من مرسی:خجالت:

ولی آرایه از همون اول تعریف نشده ؟؟؟ اصلا این Error عجیب است برای من؟:متفکر::متفکر::متفکر:

abolfazl-z
دوشنبه 16 مرداد 1391, 18:48 عصر
فکر کنم حق با شما باشه :خجالت:
میدونی چرا گفتم که آرایه از همون اول تعریف نشده چون همه از همین طریق کار می کنند ولی به این یکی میرسه .... این خطا را میده!!!
راستی چطوری میشه تمامی خانه های یک آرایه را پاک کرد یعنی بشه a() ؟

abolfazl-z
دوشنبه 16 مرداد 1391, 19:09 عصر
میدونین مشکل از کجا بود مشکل خیلی عجیب است .

مشکل این بود که من با اینکه تایمر رو غیر فعال میکردم و فرم را آنلود باز تایمر یک بار دیگیر اجرا میشد که با کد نویسی جلو اش را گرفتم خیلی عجیب فکر کنم برای ابزار Inet باشه فرم رو یکباره دیگر لود میکنه؟؟؟؟؟؟:متفکر:

arenaw
دوشنبه 16 مرداد 1391, 19:13 عصر
راستی چطوری میشه تمامی خانه های یک آرایه را پاک کرد یعنی بشه a() ؟
از دستور Erase استفاده کن:

Erase a


راجع به مشکل اولت هم وقتی توی مادژول یا جنرال واسه آرایه طول تعریف میکنی دیگه نمیشه اون رو Redim کرد
میتونید اونجا بدون طول تعریف کنی و توی فرم لود Redim کنی

ho3ein.3ven
دوشنبه 16 مرداد 1391, 21:29 عصر
یعنی آرایه رو شما اصلا تعریف نکردین ؟ خب شما می خوای طول چی رو تغییر بدین ؟ اول شما آرایه رو تعریف کنید .
یک روش دیگه هم برای پاک کردن عناصر آرایه استفاده از redim بدون اینکه از preserve استفاده بشه.

abolfazl-z
دوشنبه 16 مرداد 1391, 23:07 عصر
مرسی از تمام دوستان مشکل حل شد.:تشویق: