دوست عزیز، چرا روی یک اشتباه تاکید می کنید ؟!اون نیل کردن دقیقا هدفش نیل کردن frm هست
خوب تست کنید، ببینید بعد از self = nil متغیر frm هم برابر nil میشه یا نه !، کاملا مشخصه که نخواهد شد، اصلا Self ارتباطی با frm نداره
قضیه کاملا مشخصه و توضیحات هم کاملا شفاف بود، قبل از تاکید بی مورد حداقل تست کنید
مشکل اینجاست که شما تفاوت Free شدن و برابر nil قرار دادن رو نمی دونید و اشاره گری که به فضای فرم اشاره میکنه رو با خود فرم اشتباه گرفتید، frm کلاس فرم نیست، بلکه یک اشاره گر به فضای درنظر گرفته برای فرم محسوب میشهدر کل اگه نتونیم داخل خود کلاس عملیات free و نیل انجام بدیم درواقع ایراد کلاس Form دلفی و سیشارپ هست از نظر من بهتره کلاس رو خودمون توسعه بدیم و استفاده کنیم
فرم Free میشه و مشکلی وجود نداره، از داخل خود کلاس، اون رو Free کردیم، اما آدرس فضایی که Free شده هنوز توی frm قرار داره، frm هنوز مقدار داره، آدرس فضای فرمی که Free شده، خود آدرس یک مقداره که درون frm وجود داره
لطفا قبل از ادامه این بحث، در مورد اشاره گرها و متغیرها و کلاس ها و شی گرایی مطالعه کنید
توضیحات کاملا شفاف بود، احساس می کنم اصلا نمی خونید پست ها رو
خوب "جالب" یعنی چی دوست عزیز ؟!منظور خاصی ندارم ولی استفاده از متغیر تو فورم۱ جواب میده ولی راه کار جالبی نیست
راه های زیادی وجود داره، اگه شما از روش متغیر عمومی خوشتون نمیاد، خوب راه دیگه ای رو امتحان کنید، مثلا فرمهای Screen رو چک کنید ( که در پست قبلی قرار دادم )
مشکل در رویدادها نیست اصلاشاید از رویداد destroy بشه استفاده کرد
پستها رو دوباره بخونید، به اشتباهاتتون پی خواهید برد
فکر می کنم کاربر سئوال کننده جوابش رو گرفته باشه
لطفا این بحث رو ادامه ندید