المشاركات : 171
المواضيع 13
:
: 0
الإنتساب : Nov 2008
السلام عليكم ورحمة الله وبركاته ,,,
ما الفرق بين :
و
كود :
Application.Terminate;
وأيظا
مع انهم يؤدون نفس الغرض وهو الإغلاق ؟
وشكرا لكم جميعا
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
[COLOR="#000000"]
Close تغلق الForm
غلق الForm الاساسية يعني غلق التطبيق
Application.Terminate تنهي مهام التطبيق
halt توقف البرنامج المنفذ ويعود التنفيذ للنظام
الفرق بينهم ؟
استخدام Close في Form غير رئيسة لايوقف البرنامج وانما يغلق فقط الForm
إستخدام Application.Terminate أو Halt في أي Form رئيسية او لا كفيل بايقاف التطبيق
Halt عكس الاخرين لاتقوم بتحرير الموارد المستهلكة من طرف البرنامج وبالتالي قد تترك شوائب بالذاكرة
Halt تعمل في اي برنامج او تطبيق بواجهة GUI او حتى سطر اوامر Console عكس الاخرين فان كان برنامجك لا يحتوى Application لايمكنك استدعاء Terminate
والسلام عليكم[/COLOR]
المشاركات : 171
المواضيع 13
:
: 0
الإنتساب : Nov 2008
بارك الله فيك ,,
اتضحت الصورة لدي
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
...وإذا وضعت أوامر في الحدث FormClose فإن البرنامج لن يمر عليها إذا تلقى Application.Terminate، ربما يمر عليه عند الحدث FormDestroy.
بالمناسبة ما معنى "تطبيق بواجهة gui" ؟؟؟
المشاركات : 138
المواضيع 39
:
: 0
الإنتساب : Apr 2008
بسم الله الرحمن الرحيم
graphical user interface
تعني واجهات المستخدم الرسوميه اي الفورمات وصناديق الحوار.
المشاركات : 12
المواضيع 2
:
: 0
الإنتساب : Dec 2008
والله روعة
جزاك الله خيراً
المشاركات : 165
المواضيع 43
:
: 0
الإنتساب : Sep 2010
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
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
السلام عليكم ورحمة الله
إقتباس :لا يمر على اي حدث عند استعمال application.terminate جرب فورم و زر و لاحظ
استبدل showmessage بشيء مثل:
الأمور ليست دائما كما تبدو 
الإجراء Terminate المعرف في المكتبة Forms يقوم باستدعاء [URL="http://msdn.microsoft.com/en-us/library/ms644945%28v=vs.85%29.aspx"]PostQuitMessage
[/URL]التي بدورها تجيب عن الرسالة WM_DESTROY معلنة عن إنهاء Thread البرنامج.