easyDelphi Q&A
+2 تصويتات
165 مشاهدات

 

في بعض الحالات المهمة التي تكون في الإجراء أو الدالة تستغرق وقت معتبر, مما يؤثر على كفاءة البرنامج اخي ,

وعلى سبيل المثال لا الحصر: نقل و نسخ ملف كبير, البحث عن ملف, تصدير بيانات, ... إلى أخره.

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

 

سُئل في تصنيف vcl بواسطة (4,210 نقاط) | 165 مشاهدات
 

2 إجابة

+3 تصويتات
هناك حلان أحدهما بأستخدام الثريد TThred أو   PPL  و الآخر بتقسيم البرنامج إلى أجزاء بمعنى الواجهة تبقى للبرنامج و الباكڨراوند تبقى للكونسول أو السرفيس بمفهوم أدق تبقى الواجهة لادارة و تبيان المهام البسيطة و غير ثقيلة و الكونسول أو السرفيس لادارة المهام الثقيلة و التي تتطلب الأستقلالية في العمل...  أما عن كيفية التواصل فيمابينهم خصوصا في إظهار تطور المهام بواسطة البروڨرسبار مثلا يمكن إستعمال  Tethering" App" و هذه الخاصية تسمح أيضا بالروموت كونترول كأن تتحكم في أزرار البرنامج الثاني و غيرها.. .
تم الرد عليه بواسطة (14,010 نقاط)
هل يمكن اعطائي مثال عام. عن كل طريقة
عليك بالأنتظار ريثما أتمم لك الأمثلة ....
انا في الانتظار أخي محمد إبن عمار
+1 تصويت
استخدم المكون IdThreadComponent   واكتب الكود الخاص بك في الحدث  OnRun

ثم اعمل  Start  للمكون
تم الرد عليه بواسطة (10,290 نقاط)

اسئلة متعلقة

+3 تصويتات
2 إجابة
سُئل أغسطس 12 في تصنيف vcl بواسطة KHALED (6,350 نقاط) | 86 مشاهدات
+5 تصويتات
4 إجابة
+2 تصويتات
2 إجابة
سُئل أغسطس 10 في تصنيف vcl بواسطة KHALED (6,350 نقاط) | 80 مشاهدات
0 تصويتات
1 إجابة
سُئل أغسطس 31 في تصنيف vcl بواسطة Yamada Fakir (1,330 نقاط) | 60 مشاهدات
+4 تصويتات
2 إجابة
ادعُ اصدقائك في الفايسبوك لمشاركتك

مرحبًا بك إلى EasyDelphi Q&A، حيث يمكنك طرح الأسئلة والحصول على الإجابة عليها من المستخدمين الآخرين.

لا يسمح بطلب او السؤال عن كراك او تفعيل او كسر او فك او اي شيء يخالف اتفاقيات الترخيص  مهما كان السبب ومهما كان البرنامج ونوعه. ولا حتى نشر روابط تحتوي على مثل هذه الاشياء لا في الاسئلة ولا في الاجابات ولا التعليقات . نهائيا

267 سؤال
476 إجابة
833 تعليق
163 مستخدم