View Full Version : فـرق Free و Destroy
rezamahdizadeh
جمعه 06 دی 1387, 07:07 صبح
فرق دستورات Free و Destroy چيست؟
vcldeveloper
جمعه 06 دی 1387, 17:51 عصر
Destroy را هیچوقت برای آزاد کردن یک شی مستقیما فراخوانی نمیکنند، بلکه همیشه از Free استفاده می کنند؛ چون Free قبل از فراخوانی کردن Destroy، بررسی میکنه که شی nil نباشه.
وقتی کلاسی را خودتون طراحی می کنید که باید اشیاء مربوط به خود را در پایان کارش آزاد کنه، Destroy را Override می کنید، و کد مربوط به آزاد کردن آن اشیاء را در آن می نویسید.
feedsimba
چهارشنبه 11 دی 1387, 00:44 صبح
هر دو خیلی شبیه به هم کار میکنند با این تفاوت که Free چک میکند که متغییر شما nil نباشد. البته هر دو تابع فقط کلاس را Free میکنند ولی متغییری که شما درش کلاس را ریختهای Nil نمیکنند. برای این کار میتوانی از تابع FreeAndNil استفاده کنی. من FreeAndNil را بیشتر پیشنهاد میکنم.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.