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

نسخة كاملة : مشكل في تسريب thread
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
صادفني مشكل اثناء تعلمي لاستعمال threads في دلفي حيث انني صنعت برنامج من عنصري لابل و زر boutton و thread في unit 2 حيث وضعت الكود الآتي في اجراء الـ thread.

كود :
var i:integer; begin First := not First; if First then for i:=1 to 1000000 do begin Form1.Label1.Caption:=inttostr(i); sleep(200); end else for i:=1 to 1000000 do begin Form1.Label2.Caption:=inttostr(i); sleep(200); end; end;
وعند عمل الـ compil يقوم البرنامج بالعد و عند الضغط عدة مرات على الزر تزيد سرعة العد.
و لحظة معينة تخرج رسالة خطأ تنوه opéraion de pointeur incorrecte. processus stoppé و هي من النوع EinvlaidPointer ثم تشير الى السطر ٍ sleep(200) ... هل من احد يحل مشكلتي بارك الله فيكم ؟
مع العلم ان Try..exceptions تفي بالغرض الاّ ان معرفة سبب هذا المشكل نقطة رئيسية لحن تعلم الـ thread.... البرنامج في المرفقات
كود :
procedure TForm1.Button1Click(Sender: TObject); var Counter:[color=Red]TCounterthread[/color]; begin Counter:=[color=Red]TCounterthread[/color].Create(False); end;

المتغيرات باللون الأحمر هو ما قمت بتصحيحه في برنامجك و كل شيء سار على ما يرام (Delphi2007)
اعرف .... لكن المشكل ليس في الكتابة ... لاني اخطات فقط حين النقل ... المشكل لو تركت البرنامج يعد
راقب عمله فهو يعن خطأ pointer:lol: