مشكلة في إسناذ procedure to procedure
#1
السلام عليكم ورحمة الله تعالى وبركاته

نص المشكلة : 

عند إنشاء كلاس من نوع TThread, وجعل الـ constructor لها على الشكل :
كود :
procedure TMyClass.create(Idhttp : TIdHttp);
begin
    FIdhttp := Idhttp;
    FHttpClient.OnWorkBegin := HttpWorkBegin;
    FHttpClient.OnWork := HttpWork;
    FHttpClient.OnWorkEnd := HttpWorkEnd;
end;

عند إنشاء object وحد من هذه الكلاس كل شيء يمشي بدون مشاكل

لكن عندا إنشاء 2 او اكثر تحدث المشاكل, وإحتمال كبير من هذه الأسطر :

كود :
    FHttpClient.OnWorkBegin := HttpWorkBegin;
    FHttpClient.OnWork := HttpWork;
    FHttpClient.OnWorkEnd := HttpWorkEnd;

لأني عندا الإنشاء objects امرر لها  نفس [size=small]Idhttp.[/size]

فما هو حل المشكلة ؟

(First chance exception at $00565EAA. Exception class $C0000005 with message 'access violation at 0x00565eaa: read of address 0x000002a0'. Process Prog.exe (11560))
الرد
#2
شغل البرنامج في وضع التنقيح ثم ضع breakpoint على السطر الأول وراقب خطوة خطوة.
وما هو الكود داخل OnWorkEnd؟
[-] كل من 1 user says قال شكرا ل sofiane201 على المشاركة المفيدة
  • MasteranyOne
الرد
#3
على حسب ما تمكنت من معرفته, انه لا يمكن إنشاء إتصال وحد لجلب اكثر من شيء في وقت واحد.
لذلك يجب إنشاء إتصال لكل شيء إذا اردت ان يتم ذلك في نفس الوقت.

هذا ما تمكنت من إستنتاجه
الرد


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


مستخدمين يتصفحوا هذا الموضوع: 1 ضيف