delphi4arab منتديات دلفي للعرب

نسخة كاملة : ما الفرق بين close و halt ؟؟؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته ,,,

ما الفرق بين :
كود :
close;
و
كود :
Application.Terminate;
وأيظا
كود :
halt;
مع انهم يؤدون نفس الغرض وهو الإغلاق ؟
وشكرا لكم جميعا
Big Grin
[COLOR="#000000"]
Close تغلق الForm
غلق الForm الاساسية يعني غلق التطبيق

Application.Terminate تنهي مهام التطبيق
halt توقف البرنامج المنفذ ويعود التنفيذ للنظام

الفرق بينهم ؟
استخدام Close في Form غير رئيسة لايوقف البرنامج وانما يغلق فقط الForm
إستخدام Application.Terminate أو Halt في أي Form رئيسية او لا كفيل بايقاف التطبيق
Halt عكس الاخرين لاتقوم بتحرير الموارد المستهلكة من طرف البرنامج وبالتالي قد تترك شوائب بالذاكرة
Halt تعمل في اي برنامج او تطبيق بواجهة GUI او حتى سطر اوامر Console عكس الاخرين فان كان برنامجك لا يحتوى Application لايمكنك استدعاء Terminate

والسلام عليكم
[/COLOR]
بارك الله فيك ,,
اتضحت الصورة لدي
...وإذا وضعت أوامر في الحدث FormClose فإن البرنامج لن يمر عليها إذا تلقى Application.Terminate، ربما يمر عليه عند الحدث FormDestroy.
بالمناسبة ما معنى "تطبيق بواجهة gui" ؟؟؟
بسم الله الرحمن الرحيم

graphical user interface

تعني واجهات المستخدم الرسوميه اي الفورمات وصناديق الحوار.
والله روعة
جزاك الله خيراً
kachwahed كتب :لن يمر عليها إذا تلقى Application.Terminate، ربما يمر عليه عند الحدث FormDestroy.
شكرا لكن البرنامج لا يمر على اي حدث عند استعمال application.terminate جرب فورم و زر و لاحظ
كود :
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Application.Terminate; end; procedure TForm1.FormDestroy(Sender: TObject); begin showmessage('samudsfjdfgn,,'); end; end.
بينما لو استعملت HALTE فانه يعتر OnDestroy ولا يهتم بـ Onclose
السلام عليكم ورحمة الله
إقتباس :لا يمر على اي حدث عند استعمال application.terminate جرب فورم و زر و لاحظ
استبدل showmessage بشيء مثل:
PHP كود :
Windows.Beep(200, 500); 
الأمور ليست دائما كما تبدو Smile
الإجراء Terminate المعرف في المكتبة Forms يقوم باستدعاء [URL="http://msdn.microsoft.com/en-us/library/ms644945%28v=vs.85%29.aspx"]PostQuitMessage
[/URL]التي بدورها تجيب عن الرسالة WM_DESTROY معلنة عن إنهاء Thread البرنامج.