delphi4arab منتديات دلفي للعرب
عن المسالك Thread ودلفي 2010 و XE5 - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : عن المسالك Thread ودلفي 2010 و XE5 (/showthread.php?tid=6201)



عن المسالك Thread ودلفي 2010 و XE5 - أبو محمد اللحياني - 21-05-2014

كان هذا الكود يعمل في delphi 2012

كود :
procedure FastThread (const proc: TProc; bWait: boolean = false); function Thread(const proc: TProc): THandle; function run(const proc: TProc): integer; stdcall; begin proc; Result := 0; end; begin try CreateThread(nil, 0, @run, PPointer(@proc)^, 0, Result); except end; end; var hThrd: THandle; begin hThrd := CreateEvent(nil, true, false, nil); Try Thread( procedure begin proc; SetEvent(hThrd); end); if bWait then WaitForSingleObject(hThrd, INFINITE); finally CloseHandle(hThrd); end; end;

والآن لا يعمل في delphi XE5

كان مريّح كثير


عن المسالك Thread ودلفي 2010 و XE5 - محمد عبد العزيز - 21-05-2014

إقتباس :والآن لا يعمل في delphi xe5
أوضح ما المشكل ؟ رسالة الخطأ ؟


عن المسالك Thread ودلفي 2010 و XE5 - أبو محمد اللحياني - 21-05-2014

الخطأ هنا :

كود :
CreateThread(nil, 0, @run, PPointer(@proc)^, 0, Result);

رسالة الخطأ :
كود :
Types of actual and formal var parameters must br identical

أنا حاولت ولكن لا خبرة لي بدهاليز المؤشرات والمسالك

وحاولت استخدام بدل CreateThread ::: beginThread ولكن البرامترات تختلف ووتخطيط الإجراء يتغير بالكامل


عن المسالك Thread ودلفي 2010 و XE5 - SMP3 - 22-05-2014

غير هذا السطر :
كود :
function Thread(const proc: TProc): THandle;

الى :
كود :
function Thread(const proc: TProc): [color=Red]DWORD[/color];



عن المسالك Thread ودلفي 2010 و XE5 - أبو محمد اللحياني - 22-05-2014

ما شاء الله بهذه البساطة

جزاكم الله خيراً وبارك فيكم