المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كيف نقوم بالمزامنة بين وظائف indy و VCL


abdelmalek
28-08-2010, 07:25 AM
السلام عليكم ورحمة الله وبركاته

كما نعرف ان server indy يستعمل تقنية multithreading ؟

كيف نقوم بالمزامنة في هاته الحالة بين وظائف indy و VCL

procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
Memo1.Lines.Add('Connect');
end;
procedure TForm1.IdTCPServer1Disconnect(AThread: TIdPeerThread);
begin
Memo1.Lines.Add('Disconnect');
end;
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
begin
Memo1.Lines.Add('execute');
end;

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

بالتوفيق للجميع

o15s19
02-09-2010, 12:07 PM
باستخدام TIdSync أو TidNotify و إذا اردت استخدامهما راجع المشاركة التالية هنا (http://www.delphi4arab.com/forum/showthread.php?t=1789)
أو انظر للسورس في مشروع برنامج محادثة (http://www.delphi4arab.com/forum/showthread.php?t=2326&page=8)

abdelmalek
03-09-2010, 06:02 PM
بارك فيك اخي o15s19 على المشاركة

لكن لم افهم شيئ عن المزامنة وطريقة عملها

abdelmalek
04-09-2010, 08:09 PM
السلام عليكم ورحمة الله وبركاته

ما معنا المزامنة ؟

ماهي المشكلة التي تجبرنا على مزامنة بين main thread و الثريدات الاخرة ؟

هل هناك طريقة اخرى غير المزامنة ؟

اعطي مثال بسيط على عمل دلك ؟

اسف على كثرة الاسئلة ( موضوع المزامنة هدا ريح يخرجني من عقلي ) اه اه اه اه اه

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

بالتوفيق للجميع

سلام

musvc
04-09-2010, 09:07 PM
آسف لاني لا اتابع الأسئلة هذه ِ الأيام بسبب الأنشغال...

بالنسبة للسؤال, صدقني لم ادخل في طريق الـ indy بعد
بالنسبة الى المثال, في المرفقات مثال جميل جدا ً
ارجـو ان تستفاد منه...
في المثال الـ Client يكون في جهاز العميل و الـ Server يكون في جهازك :)
حيث سيتصل بك مباشرتا ً.
ببساطة تربطه بـ no-ip على سبيل المثال ثم تبدأ بالتحكم :)

ارجـوان اكون قد افدت ولو بقليل
سلامي لك

abdelmalek
05-09-2010, 11:02 AM
بارك الله فيك اخي musvc على المرور
لكن المشكلة لم تنحل بعد
بالتوفيق للجميع