نمایش نتایج 1 تا 4 از 4

نام تاپیک: مشكل با خارج كردن mdi فرزند از حافظه !

  1. #1

    مشكل با خارج كردن mdi فرزند از حافظه !

    با سلام خدمت اساتيد و دوستان. بنده مشكلي با mdi دارم ،تالار رو زياد جستجو كردم و موضوع هاي مشابه زيادي پيدا كردم ولي جواب سوالمو نگرفتم ! اما با اين حال شايد م همچين موضوعي قبلاً مطرح شده باشه كه در اون صورت منو ببخشيد :)
    من يك mdi پدر دارم و يك فرم فرزند كه از قبل طراحيش كردم و كاپوننت هاشو روش قرار دادم و تمام كد هاي مربوط به فرزند رو براش نوشتم. يكي از اين كامپوننت ها PicBox هستش كه قراره با كليك كردن روي دكمه اوپن از فرم پدر و انتخاب عكس از طريق كاربر يك فرم فرزند از نوع فرم فرزندي كه طراحي كردم ايجاد بشه و عكس داخل picbox نمايش داده بشه. و اما مشكلات !
    1)وقتي كار كاربر با فرم فرزند تموم ميشه و اون فرم رو ميبنده اون فرم رو چطور ميشه از حافظه خارج كرد، متود dispose رو در رويداد FormClosedاستفاده كردم ولي جواب نداد! و فضا حافظه اختصاص داده شده به فرم فرزند آزاد نشد !
    2)چطور ميشه روي تمام فرم هاي فرزندي كه با باز كردن فايل هاي عكس ايجاد ميشن از طريق فرم پدر كنترل كامل داشت. از قبيل اجراي يك رويداد ، اجراي يك تابع يا تغيير يك متغير. بطور مثال كاربر عكسي رو باز مي كنه و اون عكس رو ويرايش ميكنه و فرم فرزند متغيري براي مشخص شدن تغيير در عكس در خودش داره ، حالا كاربر فرم فرزند رو مي بنده و فرم پدر بايد اين متغير رو چك كنه كه اگر تغييري ايجاد شده از كاربر براي ذخيره عكس ويرايش شده سوال كنه. همچنين آيا اين كار رو از فرم فرزند براي فرم پدر مي تونيم انجام بديم ؟
    البته من در VB.Net اين كار رو به راحتي و بدون نوشتن تابع يا برنامه اضافه اي انجام ميدم ولي در C#‎‎‎ اين كار رو نتونستم انجام بدم.
    براتون نمونه ساده از برناممو ميزارم و فقط قسمتي از اونجايي كه مشكل دارم رو در اون قرار ميدم
    با تشكر
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: rar MP.rar‏ (46.4 کیلوبایت, 19 دیدار)

  2. #2

    نقل قول: مشكل با خارج كردن mdi فرزند از حافظه !

    بابا جان هرکی دوست دارین یک جواب به این سوالای ما هم بدین !

  3. #3
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: مشكل با خارج كردن mdi فرزند از حافظه !

    نقل قول نوشته شده توسط smsh-smsh مشاهده تاپیک
    با سلام خدمت اساتيد و دوستان. بنده مشكلي با mdi دارم ،تالار رو زياد جستجو كردم و موضوع هاي مشابه زيادي پيدا كردم ولي جواب سوالمو نگرفتم ! اما با اين حال شايد م همچين موضوعي قبلاً مطرح شده باشه كه در اون صورت منو ببخشيد :)
    من يك mdi پدر دارم و يك فرم فرزند كه از قبل طراحيش كردم و كاپوننت هاشو روش قرار دادم و تمام كد هاي مربوط به فرزند رو براش نوشتم. يكي از اين كامپوننت ها PicBox هستش كه قراره با كليك كردن روي دكمه اوپن از فرم پدر و انتخاب عكس از طريق كاربر يك فرم فرزند از نوع فرم فرزندي كه طراحي كردم ايجاد بشه و عكس داخل picbox نمايش داده بشه. و اما مشكلات !
    1)وقتي كار كاربر با فرم فرزند تموم ميشه و اون فرم رو ميبنده اون فرم رو چطور ميشه از حافظه خارج كرد، متود dispose رو در رويداد FormClosedاستفاده كردم ولي جواب نداد! و فضا حافظه اختصاص داده شده به فرم فرزند آزاد نشد !
    2)چطور ميشه روي تمام فرم هاي فرزندي كه با باز كردن فايل هاي عكس ايجاد ميشن از طريق فرم پدر كنترل كامل داشت. از قبيل اجراي يك رويداد ، اجراي يك تابع يا تغيير يك متغير. بطور مثال كاربر عكسي رو باز مي كنه و اون عكس رو ويرايش ميكنه و فرم فرزند متغيري براي مشخص شدن تغيير در عكس در خودش داره ، حالا كاربر فرم فرزند رو مي بنده و فرم پدر بايد اين متغير رو چك كنه كه اگر تغييري ايجاد شده از كاربر براي ذخيره عكس ويرايش شده سوال كنه. همچنين آيا اين كار رو از فرم فرزند براي فرم پدر مي تونيم انجام بديم ؟
    البته من در VB.Net اين كار رو به راحتي و بدون نوشتن تابع يا برنامه اضافه اي انجام ميدم ولي در C#‎‎‎‎ اين كار رو نتونستم انجام بدم.
    براتون نمونه ساده از برناممو ميزارم و فقط قسمتي از اونجايي كه مشكل دارم رو در اون قرار ميدم
    با تشكر
    ۱. آزاد کردن فضا تا زمانی که احتیاج نباشد اتفاق نمیافته، به جایه اینکه با یک فرم امتحان کنید، مداوم فرمها را بسازید و دیسپز کنید. بعد از چند ساعت میبینید که مقدار حافظه‌ای که استفاده میشه همانقدر مانده.
    آزاد کردن حافظه به زور درست نیست، گاربیج کلکتر اتوماتیک مان بیشتر میسر است.

    ۲. روشهایه درست با استفاده از ایونتها، و اینترفیسها هستند. ولی اگر میگید که در وی‌بی این کار را انجام میدادید سوال این است که چطوری؟

  4. #4
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: مشكل با خارج كردن mdi فرزند از حافظه !

    نقل قول نوشته شده توسط smsh-smsh مشاهده تاپیک
    بطور مثال كاربر عكسي رو باز مي كنه و اون عكس رو ويرايش ميكنه و فرم فرزند متغيري براي مشخص شدن تغيير در عكس در خودش داره ، حالا كاربر فرم فرزند رو مي بنده و فرم پدر بايد اين متغير رو چك كنه كه اگر تغييري ايجاد شده از كاربر براي ذخيره عكس ويرايش شده سوال كنه.


    همچنين آيا اين كار رو از فرم فرزند براي فرم پدر مي تونيم انجام بديم ؟
    خیر، همان فرم چک میکنه که تغییر انجام شده و فرم پدر را باخبر میکنه (با استفاده از ایونت).
    فرم پدر در ایونت عمل سیو را انجام میده.
    با استفاده از دلگتها میوانید انجام دادن کارها را از اینکه کی کار را انجام بده جدا نگهدارید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •