PDA

View Full Version : سوال: مشکل در استفاده از مقدار يک شئ مقدار دهي شده در زمان اجرا



mehrpars
سه شنبه 29 مرداد 1387, 22:36 عصر
من کانکشنم رو در ستينگ موقع اجراي برنامه مقدار دهي مي کنم .
حالا موقع استفاده از اون در جاهاي ديگه
چطور بدون اينکه new کنم ميتونم ازش استفاده کنم
(چون اگه new کنم مقدارشو از دست مي ده)
يا بعبارتي چطور مي شه از مقدار يک شئ public در جاهاي ديگه بدون new کردن استفاده کرد
در حاليکه در موقع اجرا مقدار دهي شده باشه
جستجو کردم و خیلی هم دنبالش گشتم, لطفا راهنمایی کنید

Sajjad.Aghapour
سه شنبه 29 مرداد 1387, 23:15 عصر
خوب شما چطور بدون اینکه اون رو new کنید به اون مقدار میدید که میخواهین بدون new کردن از مقدار اون استفاده کنید؟؟؟

mehrpars
سه شنبه 29 مرداد 1387, 23:34 عصر
من اونو می سازم و مقدار دهی می کنم
مشکل در موقع استفاده از اونه در فرم یا کلاس دیگه
وقتی از یک کلاس دیگه یا از فرم دیگه می خوام ازش استفاده کنم اگه new کنم مقدارشو از دست می ده و این طبیعیه چون یک آبجکت جدید واسم می سازه
بدون new کردن هم به آبجکته دسترسی دارم ولی error
Object null refrence میده

KambizZandi
سه شنبه 29 مرداد 1387, 23:40 عصر
شما از موضوع Single Instance استفاده کنيد
به پست زير نگاه کنيد:
http://barnamenevis.org/forum/showthread.php?t=116932

mehrpars
چهارشنبه 30 مرداد 1387, 00:12 صبح
ممنون از sample
مشکل حل نشد ولی حداقل موضوع جستجوی صحیح رو پیدا کردم, توی دلفی از این مشکلا وجود نداره ...
من می گردم ولی اگه تونستید یک نمونه مفهوم تر واسم بذارید
ساده ترش اینه که توی یک فرم یک public string رو مقدار بدم و توی یک فرم دیگه از این مقدار استفاده کنم , ... البته نه اینطور که مقدارو از فرم اول توی فرم دوم بریزم ( عکسشو می خوام یعنی درخواستو از فرم 2 بدم)

KambizZandi
چهارشنبه 30 مرداد 1387, 01:50 صبح
اونتور که من فهميدم شما اساس کارتون رو روي فرم گذاشتين
يعني همه چي توي فرمه و اين اشتباهه
فرم فقط مربوط به Presentation Layer ميشه و شما بايد کلاسهايي رو بسازيد که ارتباط با داده رو برقرار کنه
يک مثال ميزنم. فرض کنيد برنامه ي شما هم وب باشه هم وين. اونوقت ميخواين تمام مسايل مربوط به داده رو تو هر دو مدل بنويسيد؟
براي اينکار يک Library بسازيد که کلاسهاي ارتباط با ديتابيس اونجا باشه
اونوقت ميتونيد راحت تو اون کلاسها public static property تعريف کنيد و راحت از اونا استفاده کنيد بدون اينکه نياز به new کردن مجدد داشته باشيد