ورود

View Full Version : مشکل با ارایه های عمومی



saed2006
یک شنبه 29 اردیبهشت 1387, 10:53 صبح
با سلام
در ماژول برنامه ارایه ای عمومی وجود دارد که اندازهش توسط یکی از توابع برنامه تعیین و مقدار دهی میشود
در حالی که برای تعریف ارایه باید اندازه اون رو قبل از فراخوانی تابع اعلام کنم
(چون در متغییر های عمومی تعریف شده)
چه پیشنهادی دارین که بتونم این کارو انجام بدم
همچنین هنگام مقدار دهی به ارایه(ar1=ar2 )خطای cant assign to array رو میگیره
ar1 ارایه عمومی
ar2 ارایه ای تو خود تابع

ali_habibi1384
یک شنبه 29 اردیبهشت 1387, 11:17 صبح
سورستون رو اینجا آپلود کنید.

saed2006
دوشنبه 30 اردیبهشت 1387, 11:06 صبح
این سورسش است روال اصلی start prosse است و ارایه ها به توابع xsort ysort فرستاده میشند و باید در ارایه های عمومی ذخیره بشوند
که خطا میگیره

saed2006
دوشنبه 30 اردیبهشت 1387, 11:11 صبح
خواهشا هر کدوم میدونید جواب بدین

ASKaffash
دوشنبه 30 اردیبهشت 1387, 12:43 عصر
با سلام
چرا از آرایه های پویا استفاده نکرده اید مثل

Private A() As Variant
Private Sub Command1_Click()
Static S As Byte
S = S + 1
ReDim Preserve A(S)
A(S) = S
End Sub

saed2006
دوشنبه 30 اردیبهشت 1387, 12:55 عصر
ارایه پویا میتونه public هم باشه

vbhamed
دوشنبه 30 اردیبهشت 1387, 13:38 عصر
سلام

آرايه رو تو قسمت عمومي به شكل زير تعريف كنيد


Public Ar() as Variantو قبل از فراخواني يك بار اندازه 0 بهش بدين


Redim Ar(0) As Variantبعد تو تابع هم كه اندازه جديد بهش داده ميشه


ReDim Preserve Ar(10) As Variant

ASKaffash
دوشنبه 30 اردیبهشت 1387, 13:57 عصر
با سلام
فقط در سطح ماژول که مسئله شما هم همینه !