View Full Version : تفاوت بستن ها
Mask
چهارشنبه 11 آذر 1388, 17:27 عصر
تفاوت بستن برنامه با دستورات زیر چیه؟
Halt
applocatin.termineit
self.clos
tdkhakpur
چهارشنبه 11 آذر 1388, 22:18 عصر
Halt // اینکه داده شما از بین برود یا نرود اهمیت نخواهد داد
applocatin.termineit// تمام پردازش را یکجا از بین میبرد که این شامل فرمها و سایر ابزار های غیر پویا میشود
self.clos// فرم یا ماژول را حذف میکند
vcldeveloper
چهارشنبه 11 آذر 1388, 22:39 عصر
قبلا درباره شون در همین تالار توضیح داده شده:
Halt: تابعی برای خروج اضطراری از برنامه هست که توسط سیستم عامل ارائه میشه.
Application.Terminate: تمام منابع برنامه در حافظه را آزاد میکنه، و از Process خارج میشه. برای این منظور، Application.Terminate از تابع PostQuitMessage با پارامتر 0 استفاده میکنه که به سیستم اعلام میکنه این Thread (یعنی Thread اصلی برنامه) قصد خروج به صورت عادی را داره.
TForm.Close: برای فرم های عادی، فقط موجب بسته شدن فرم مربوطه میشه. فرم آزاد نمیشه، مگر اینکه برنامه نویس در رویداد OnClose صراحتا اعلام کنه که میخواد فرم را آزاد کنه. اگر متد Close مربوط به فرم اصلی برنامه فراخوانی بشه، علاوه بر بسته شدن فرم اصلی برنامه، متد Application.Terminate هم فراخوانی میشه؛ پس متد Close فرم اصلی معادل استفاده از Application.Terminate هست، با این تفاوت در صورت استفاده از متد Close رویدادهای OnCloseQuery و OnClose فرم اصلی هم فراخوانی میشند، ولی در صورت استفاده از Application.Terminate این رویدادها فراخوانی نمیشند.
rezamahdizadeh
جمعه 07 خرداد 1389, 08:06 صبح
در یک فرم در روال FormClose کد زیر را نوشته ام اما فرم بسته نمی شود.
Action:=caFree;
نمی دانم چرا فرم بسته نمی شود.
pezhvakco
جمعه 07 خرداد 1389, 17:58 عصر
درود :
در یک فرم در روال FormClose کد زیر را نوشته ام اما فرم بسته نمی شود.
Action:=caFree;
نمی دانم چرا فرم بسته نمی شود.
منظورت اینه که برای بستن فرم از این روش استفاده کردی ؟
اگه درسته > این رویداد "OnClose" وقتی فراخوانی میشه که فرم درستور بسته شدن داشته باشه و شما نمیتونی دستور بسته شدن رو داخل اون بنویسی .
فکر خوش .
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.