أنا ما فهمت شي من هذا الكوم، يعني لو في حد عنده شرح ولو بسيط (وبالعربي لو سمحتم) لأني حاولت أن أقرأ كم كتاب بالإنجليزي، بس فشلت :-(
يمكن أحد يشرح لي ال COM
السلام عليكم ,,
COM اختصارا ل Component Object Model ,, عبارة عن ملفات dll أو exe "تنفيذية" بها واجهة Interface او عدة واجهات ,, تطبق دوال معينة ,,
والفكرة أن ال Interfaces يمكن تشبيهها بالكائنات التي تعرف دوال وهمية ,,
المهم الفكرة بما فيها أنها تتيح آلية اتصال مع Server بعيد في حال تبنيت ال DCOM أو ال Com+ ,, وهي كما ال Com لكن ال DCOM وال Com+ تطبق للعمل على سيرفر بعيد ,, لذا فهي تكون على ملفات exe لتعمل خارج المعالجة ,, وبعدها يتصل بها العميل ببرتكول تسيير Com+ الذي تعمل عليه خدمة ال COM+ في الوندوز ,,
كتابة واجهات ل COM يمكن أن يتم من الصفر " وهي عملية مرهقة جدا " أو باستخدام ال ATL "Active Template Library وهي أسهل كثيرا ,,
فقط عليك كتابة الواجهة مع تعريف الدوال التي ستتعامل بها ,,
لCom عدة واجهات قياسية ومنها الالزامية ك IUNKNOWN تطبق تلقائيا على أي واجهة مع الدوال AddRef وRelease ,,
مكونات Com التي لاتدعم واجهة UI Interface تسمى Com عادية ,, أما التي تدعم واجهة UI "User Interface " فهي ال ActiveX ,, ال ActiveX ليس الا مكون كوم يطبق عدة واجهات اضافية مع واجهة UI رسومية لاستخدامه ,,
الواجهات التي يمكن تطبيقها أيضا ,, IDispatch ,, وتستخدم لعمليات تسيير Marshaling المتغيرات من لغات البرمجة المختلفة من والى المكون كوم ,, لتستطيع أي لغة برمجة التعامل مع المكون ,, لكن عليك التقيد بالانواع الاساسية المدعومة من أغلب لغات البرمجة ,و والابتعاد عن المؤشرات التي لاتدعمها لغات البرمجة الأخرى ,, وخصوصا مؤشر المؤشر ** ,,
وجهة أخرى ك IMarshaling لتسيير البيانات من والى مكون على جهاز آخر ,, طبعا بعد تمهيد الاتصال بخدمة ال COM+ في الجهاز البعيد " ويتم ذلك فقط باستدعاء التابع CoCreateInstanceEx بعيدا عن تدخل المبرمج " ,,
Imarshaling واجهة معقدة يجب كتابتها لضمان تسيير البيانات ضمن المعالجات من Process الى آخر ,,
استخدام Com يحتاج لعمل import لملف ال dll أو ال tlb الخاص بالمكون ,, أو حتى ال exe "على ماأظن لم أجب ذلك قبلا " ,, ثم استخدام ملف الرأس الناتج عن التصرف والذي ستجده في مجلد المشروع لتعرف المستخبي في ملف ال dll ,, وتعرف ماذا تطبق الواجهة فعليا ,,
طبعا مع ربط ملف ال Lib الناتج أيضا ,,
تقنيات التواصل بين الاجهزة اتلأخرى كثيرة ومنافسة لكوم أمثال ,,
RPC و Socket و Corba و بعض التقنيات الاخرى كال PipeName ,,
أتمنى أن أكون قد أسعفت في الرد !!
تم تعديل هذه المشاركة بواسطة HGB في 17 أغسطس 2004 في 04:44
Technical Lead Developer
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
شكراً طارق إبراهيم على اللينك ما تقصر
ومشكور أخوي HGB ،والله تشرحها وكأنك دكتور في الجامعة، عندي سؤال لك ويمكن يكون حشري شوي:
في أي جامعة درست وفي أي تخصص؟ وإذا شفت السؤال يزعجك تجاهلني
Thank you you for explaining com but if you have more information about it plz explain it
thank you very much
allah with you :rolleyes:
ممكن برنامج أطبقه عن ال com ؟؟؟؟؟
هذا الموضوع مغلق.
