الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حول application.terminate

مغلق
بدأه essam7 في 26 ديسمبر 2005 · 10 رد · 1,016 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

شباب من مدة نزلت موضوع حول هذا وطلبتو كود وهذا كود

في حدث الزر مثلا

procedure TForm1.Button1Click(Sender: TObject);
var
  reg: TRegistry;
begin
  reg:= TRegistry.Create;
  try
    reg.RootKey:= HKEY_CURRENT_USER;
    if not reg.KeyExists('test1') then
    begin
      MessageDlg('Some body deleted the key !!!', mtError, [mbOK], 0);
      Application.Terminate;//this line i asked
      if not Application.Terminated then
        Application.Terminate;
    end;
    reg.OpenKey('key must not created', true) then  
    finally
      reg.Free;
    end;
end;

لا تقولوا حط else

لاني اريد انهاء البرنامج فورا وبالالس استطيع معالجة هالكود لكن في اكواد صعب معالجتها

اريد بالضبط اين تنتهي التعليمات هل بنهاية حدث الزر لان application.terminate في حدث الزر؟؟؟

للعلم انا حاوت كثييير

اولا وضعت application.terminate في تابع واستدعيت التابع لكن لا نتيجة فالتعليمات اللي بعد استدعاء التابع تنفذ

ثانيا حذفت التراي والفاينلي وايضا لا نتيجة

الرجاء مساعدتي في انهاء البرنامج مباشرة وان لم يكن بالامكان لاني داخل البرنامج فهل هناك طريقة اخرى ؟؟؟؟؟؟؟؟؟

#2

يمكن ذلك بكتابة Exit

#3

السلام عليكم

طبعا الخطأ في السطر الآتي غير مقصود.. اليس كذلك

 reg.OpenKey('key must not created', true) then

أخي العزيز

انت استعملت Application.Terminate .. هل قرأت delphi help جيداً لتعرف سبب المشكله

يبدو انك لم تقرأه .. ما علينا ..

الآتي ما ورد هناك .. إقرأه بتمعن لتفهم المشكلة

اقتباس
Call Terminate to end the application programmatically. By calling Terminate rather than freeing the application object, you allow the application to shut down in an orderly fashion.

Terminate calls the Windows API PostQuitMessage function to perform an orderly shutdown of the application. Terminate is not immediate.

Terminate is called automatically on a WM_QUIT message and when the main form closes.

يمكنك استعمال halt او TerminateProcess ...

لاحظ ان بعض الاجزاء المهمة قد لا تنفذ والتي يجب الإنتباه لها .. مثلا

reg.Free;

اقتباس
لاني اريد انهاء البرنامج فورا وبالالس استطيع معالجة هالكود لكن في اكواد صعب معالجتها

ما الأكواد الصعب معالجتها ؟ ممكن تعطينا مثال فربما نجد طريقة ...

تحياتي

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#4
اقتباس
يمكن ذلك بكتابة Exit

الأخ يريد إغلاق البرنامج مباشرة

وظيفة exit هي

اقتباس
Exits from the current procedure.

وهناك حالة يتم إغلاق البرنامج فيها هي

اقتباس
If the current procedure is the main program, Exit causes the program to terminate.

كما نقول دائما Delphi Help هو المرجع الأول ...

تحياتي للجميع

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#5

سبحان الله اول مبارح كان المنتدى مغلق limit exceed

ومبارح بعد ما كتبت الرد فصل النت فاحتفظت به بملف نصي وهاهو :

أشكرك اخي pharaoh على الرد وسبحان الله قبل رؤية الرد بخمس دقائق خطر ببالي exit مع العلم اني اعلمه ينهي الاجراء الحالي وبالمين ينهي التطبيق لكن المشكلة ان المين هو البروجكت او dpr وليس اليونت ونادرا ما نكتب داخله !!

أشكرك أيضا اخي cipher والخطأ فعلا خطأ مطبعي اثناء النقل

اقتباس
أخي العزيز

انت استعملت Application.Terminate .. هل قرأت delphi help جيداً لتعرف سبب المشكله

اعتذر منك لم اقرا الهلب مع العلم اني العادة اقرؤه ان اشكل علي امر ما !!!! لكن ممكن الاقدار مشان نتعرف عليك!!!!

ربما لم اقرأه لاني من الاسم Terminate حسيت انها تنهي مباشرة هههه

على كل استعملت halt وبالنسبة لموارد النظام لن انساها سأنهيها قبل الهلت ان شاء الله

بالنسبة للاكواد الصعبة ليست بالصعوبة التي ذكرت لكن اقصد ما دامت الهلت موجودة فهي اسهل بكثير !!!! وان لم تكن الهلت موجودة فساستعمل الـ if لكن انا ضد كثرة begin و end بالبرنامج

#6
اقتباس
اعتذر منك

لا داعي لذلك ... أنا كنت أذكرك بـ Delphi Help ليس إلا ..

اقتباس
مشان نتعرف عليك!!!!

لي الشرف بالتعرف عليك ...

نشوفك مع مشكلة أخرى :D

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#7

حين كنت أبحث عن أحد المواضيع التي شاركت فيها مررت على هذا الموضوع وودت إضافة شئ بسيط .

عندما يتم إستدعاء

Application.Terminate;

ما الذي سيحدث؟

نتابع الكود الخاص بـ Terminate :

procedure TApplication.Terminate;
begin
  if CallTerminateProcs then PostQuitMessage(0);
end;

و هنا نجد استدعاء لـ CallTerminateProcs وهي :

function CallTerminateProcs: Boolean;
var
  PI: PTerminateProcInfo;
begin
  Result := True;
  PI := TerminateProcList;
  while Result and (PI <> nil) do
  begin
	Result := PI^.Proc;
	PI := PI^.Next;
  end;
end;

TerminateProcList هي عبارة عن List تحو ي جميع الـ Terminateproc التي يتم إستدعاءها أثناء عملية إغلاق البرنامج ..

بالنسبة لـ PostQuitMessage يمكن مراجعة هذا الموضوع

/index.php?showtopic=10667

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#8

انهي البرنامج بـ Halt و ارتاح

MAAAAAAAAAAAAAAAAAAAAAAAC

#9
اقتباس
انهي البرنامج بـ Halt و ارتاح

يبدو أنك لم تتطلع على الردود

اقتباس
يمكنك استعمال halt او TerminateProcess ...
اقتباس
على كل استعملت halt وبالنسبة لموارد النظام لن انساها سأنهيها قبل الهلت ان شاء الله

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#10

أخي chiper

لازم نحط لمساتك السحرية على أي موضوع!!!

الله يهنيك على هالاندفاع والحركة

للعلم اذا ما كنت مخطئ كأني قرأت في أحد المواضيع أنك الأخ tmaaa

ما بعرف كم a بالضبط!!!

وللعلم ان كنت كذلك (أنا لا أعرفك) فمن مواضيعك وردودك حاسس بفااااااارق كبير بين شخصيتك لما كنت tmaaa والان

لي فضول بقراءة الشخصية من الكتابة

شخصيتك الان مندفعة وتحب عملك وحياتك

أتمنى أن أتعرف عليك

ان ضايقك هذا الرد فامسحه ولا على بالك

#11
اقتباس
للعلم اذا ما كنت مخطئ كأني قرأت في أحد المواضيع أنك الأخ tmaaa

ما بعرف كم a بالضبط!!!

وللعلم ان كنت كذلك (أنا لا أعرفك) فمن مواضيعك وردودك حاسس بفااااااارق كبير بين شخصيتك لما كنت tmaaa والان

لي فضول بقراءة الشخصية من الكتابة

شخصيتك الان مندفعة وتحب عملك وحياتك

هي ثلاثة a بس :D

حينها كنت طالب جامعي و الحمد لله قد تخرجت لكن عملي ليس له علاقة بالبرمجة ..

لن أطيل حتى لا يتحول الموضوع الى chat ...

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

هذا الموضوع مغلق.

مواضيع مشابهة