عن المسالك Thread ودلفي 2010 و XE5
#1
كان هذا الكود يعمل في 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

كان مريّح كثير
وإن تقدم ذو تقوى بصالحةٍ *** قدمتُ بين يديه عبرة الندمِ
الرد
#2
إقتباس :والآن لا يعمل في delphi xe5
أوضح ما المشكل ؟ رسالة الخطأ ؟
الرد
#3
الخطأ هنا :

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

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

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

وحاولت استخدام بدل CreateThread ::: beginThread ولكن البرامترات تختلف ووتخطيط الإجراء يتغير بالكامل
وإن تقدم ذو تقوى بصالحةٍ *** قدمتُ بين يديه عبرة الندمِ
الرد
#4
غير هذا السطر :
كود :
function Thread(const proc: TProc): THandle;

الى :
كود :
function Thread(const proc: TProc): [color=Red]DWORD[/color];
Open Your Source .. Open Your Mind
[-] كل من 1 user says قال شكرا ل SMP3 على المشاركة المفيدة
  • annabil23
الرد
#5
ما شاء الله بهذه البساطة

جزاكم الله خيراً وبارك فيكم
وإن تقدم ذو تقوى بصالحةٍ *** قدمتُ بين يديه عبرة الندمِ
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم