ورود

نسخه کامل مشاهده نسخه کامل : قرار دادن کدی که تا Stop سرویس ادامه داشته باشد.



water_lily_2012
11-10-2013, 10:42
سلام
به یه مشکل اساسی بر خوردم. یه قطعه کد دارم که باید در یک سرویس قرارش بدم. و قرار هست یک مکان را در حافظه رزرو کند. و تا زمانیکه سرویس در حال کار هست و Stop و یا حذف نشده باید حافظه را داشته باشد. در تابع OnStart قرار دادم ولی کار نداد.به محض تمام شدن این تابع garbage collection حافظه را پس می گیرد.
در کجای سرویس بنویسم که تا ابد ادامه داشته باشد مگر اینکه خودم انرا حذف کنم.

تشکر

water_lily_2012
11-10-2013, 17:43
سلام

برنامه نویسان عزیز راهی نبود؟؟؟؟

_H2_
11-10-2013, 21:52
سلام
متغیر مورد نظر را میتوانید در هرجایی پر کنید ولی آن را در خارج از متدها و در سطح کلاس تعریف و نگهداری کنید.

water_lily_2012
12-10-2013, 10:54
سلام

نه. این کارها را انجام داده ام. حتی در یک کلاس جداگانه نوشتم و اجرا کردم. کد اجرا میشه و حافظه را میگیره ولی برنامه دوم حافظه را نمی شناسه.
احتمالا بعد از گرفتن حافظه را ازاد می کنه.
با thread هم نوشتم ولی نشد.
فکر کنم در سرویس فرق می کنه. خواهشا بررسی کنید.
تشکر

_H2_
12-10-2013, 20:50
سلام
باید دقیق تر بفرمائید چه منظوری دارید و چه میخواهید انجام دهید.
شما به همین سادگی نمیتوانید متغییری تخصیص دهید و از برنامه دیگری آن را خوانده یا بنویسید. پس ...؟!
آیا سایر بخش های خود سرویس شما، این متغییر را گم میکنند؟؟؟
نمونه کدی که برای آزمایش استفاده میکنید را اینجا قرار دهید.

water_lily_2012
13-10-2013, 08:04
سلام
من می خواهم از shared memory استفاده کنم. وقتی هر دو برنامه سرویس و یا غیر سرویس باشند مشکلی نیست. فقط در موقع اینکه یکی سرویس و دیگری غیر سرویس باشد مشکل داره.

water_lily_2012
13-10-2013, 12:57
سلام

دوستم گفت این مشکل رامی تونه حل کنه. صبر می کنم ببینم راهی داره یا نه؟
فعلا تشکر