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

نسخة كاملة : عن المسالك Thread ودلفي 2010 و XE5
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كان هذا الكود يعمل في 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

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

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

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

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

وحاولت استخدام بدل CreateThread ::: beginThread ولكن البرامترات تختلف ووتخطيط الإجراء يتغير بالكامل
غير هذا السطر :
كود :
function Thread(const proc: TProc): THandle;

الى :
كود :
function Thread(const proc: TProc): [color=Red]DWORD[/color];
ما شاء الله بهذه البساطة

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