ممكن حد يشرح لي الcom+
حتى تستطيع التعامل مع ال +COM عليك ان تفهم الفكرة من تقنية COM اولا، وبعض المفاهيم الاخرى، سوف اقوم بعمل عملية عصر للمعلومات التى لدي في هذه التقنيات، رغم اني توقفت عن استخدامها منذ فترة، ولا انصح ان تبدأ بتعلمها لانك سوف تضيع وقت كبير بها وميكروسوفت اصبح تفضل عدم استخدامها واستخدام اي بديل لها ضمن الدوت نت
تقنية Com:
هي عبارة عن تقنية من ميكروسوفت من اجل إنشاء مكتبات تعتمد على object بدلا من الطريقة القديمة المستخدمة في Standard DLL، والبرمجة اصبحت اقرب لل OO بدلا من الطريقة القديمة التى تعتمد على استدعاء دوال فقط، والفكرة الاساسية هنا انك تقوم بكتابة الكود مرة واحدة ووضعه ضمن مكتبة ومن ثم استخدامه في برامج اخرى وضمن لغات اخرى ايضا
فتقنية ال Com تعتمد على بناء Objects وبداخلها الدوال والخصائص التى تريد استخدمها لهذا ال object، وايضا هناك ميزة ان مكتبات ال com يمكن ان تحتوي على Metadata التى تعرف الدوال التى بداخلها او يمكن استخدام ملفات خارجية Type libary، وهذا يسهل بشكل كبير التعامل معها عن مكتبات Dll القياسية لانه كان عليك ان تتذكر كل اسم دالة والمعاملات التى يجب تمريرها وانواعها
وبالطبع يمكنك ان تكتب مكتبة ال COM بأحد اللغات وتستطيع استخدامها في اي لغة اخرى تدعم تقنية ال COM
من عوامل التعقيد اثناء برمجة ال COM هوا التعامل مع ال Interfaces التى بدورها تعتمد على GUID،
ثم مع انتشار التطبيقيات الموزعة Distruabted app قامت ميكروسوفت بعمل بروتوكول DCOM وهو من خلاله يمكنك استدعاء واستخدام مكتبات COM موجودة على اجهزة اخرى ضمن الشبكة التى انت بها
MTS (Microsoft Transaction service) :
ومن خلاله يتم ادارة مكتبات ال Com وايضا يمكنك عمل Transcation على مستوى مكتبات ال Com مثل التى تستخدمها في قواعد البيانات، لكن على مستوى ال objects
اخيرا مع ويندوز 2000 اصبح الاسم الرسمي لكل التقنيات السابقة هو +COM، وبدلا من MTS هناك ال Component Services الذي تجده في لوحة التحكم الذي يقوم بعمليات MTS مع مميزات اخرى تم اضافتها لل +COM
بعض المميزات التى صدرت مع +COM
1. object pooling
2. JIT
3. الربط مع Queue messaging
4. Security اصبحت افضل ويمكنها ان تكون على مستوى method or interface
هناك مميزات اخرى لا اذكرها حاليا
على فكرة بداية الدوت نت كانت عبارة عن COM+ 2 ، لكن تم تغير المشروع ليسير بإتجاه اخر هوا ما نراه هذه الايام
انا مع كلام اخي طارق إبراهيم ان ال +Com تقنية معقدة وهي ليست للبرامج الصغيرة بل لل Distrubted application حيث يكون لديك عدد كبير من المبرمجين وايضا يقومو بإستخدام اكثر من لغة برمجة في هذه البرامج، حيث يقومو بكتابة ال business logic على شكل مكتبات com ومن ثم يتم استخدامها ضمن البرامج
ولكنك ان فهمتها يمكنك التعامل معها بكل بساطة، واكثر نقطة كنت اواجه بها تعقيد هو عملية ال Deployment، فهو اعتبره من اكبر عيوب تقنية ال com
الدوت نت حلت العديد من المشاكل الموجود ضمن ال COM، فيمكنك الان بناء DLL assmebly بفيجوال بيسيك دوت دن ومن ثم استخدام الاصناف التي بداخله ضمن السي شارب او دلفي، ويمكنك ايضا عمل وراثة له، وبالطبع الوراثة لم تكن ضمن تقنية ال COM
ايضا DLL assmebly لا يحتاج لعملية تسجيل ضمن ويندوز Registry، حيث يعمل ان كان موجود ضمن المجلد مباشرة او يمكنك استخدام ال GAC حت تستطيع استخدام الكود من اي برنامج اخر
ويمكنك بناء Distributed app بإستخدام web services فهي اسهل كثيرا من تقنية ال com ولكنها تعتبر ابطئ منها، وايضا هناك ال Remoting كحل اخر،
لكن يبقى هناك بعض التقنيات ضمن +COM لم يتم اضافتها للدوت نت واعتقد ان هذا من اسباب وجود دعم كامل لل +COM ضمن الدوت نت، ولكن indigo سوف يشكل نقلة نوعية عن ال web services المستخدم حاليا
ارجو ان اكون اوضحت بعض المفاهيم، ولا اكون عقدت او شبكت الامور لديك :D، واذا كان هناك بعض الاخطاء في ما ذكرت الرجاء تصويبي لانه اغلب ما ذكرت غسل دماغ ;)
لا تحزن:
إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.
لا تحزن:
فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.
ألف شكر يا أخ محمد ,
اقتباسولا انصح ان تبدأ بتعلمها لانك سوف تضيع وقت كبير بها وميكروسوفت اصبح تفضل عدم استخدامها واستخدام اي بديل لها ضمن الدوت نت
أفهم من كلامك اني بلاش أركز عليها ؟؟؟
بس الواحد عايز ياخد فكره علشان ما أبقاش زي الأطرش في الزفه :lol:
أريد أن أعرف هل توجد علاقه بين الـ Services الخاصه بالويندوز (والتي يمكن عملها بسهولة في بيئة الدوت نت) والـ +COM ؟؟؟
وما علاقة الـ +COM بالـ Addins ؟؟؟ أنظر الصوره ,
حد يكسب ثواب ويجاوب علي أسئلتي .......,,,,,,
ليس هناك علاقة بين ال +COM وWindows Services
ال Windows Services هي عبارة عن برامج خاصة لا تحتوي على واجهة للمستخدم وتعمل في الخلفية، ويبدأ عملها عندما تظهر شاشة الدخول للويندوز، اي انك لا تحتاج لتسجيل الدخول لتعمل هذه البرامج لانها تعمل فور تشغيل ويندوز، عكس البرامج العادية
عادة تستخدم هذه البرامج من اجل خدمات خاصة تعمل بدون تدخل المستخدم، هناك الكثير منها مثل اذهب الى لوحة التحكم ومن ثم administrative tools ثم services والقى نظرة هناك وسوف تعرف الموجود منها والذى يعمل او لا
بالنسبة لعلاقة ال COM مع ال Add in
تقنية ال COM تسبب بعض الارتباك لان لها عدة تسميات بدأت ب OLE و OLE automation, ActiveX وثم اصبح ال COM هو الاسم الموحد لهذه التقنية لكن مع تسميات مختلفة فمثلا عندما تريد انشاء مكونات تتعمل مع المستخدم اي GUI فسوف تستخدم الجزء الخاص بتقنية COm المسمى ActiveX controls وهذه مشهور لمبرمجي فيجوال بيسيك والسي++، ايضا عندما تريد انشاء مكتبات ال COm التى ذكرتها سابقا فسوف تقوم بإنشاء ActiveX DLl or Active Exe حيث يمكن للمكتبات ال COm ان تكون DLL او Exe
وهناك ايضا ACtiveX document
بالنسبة لعلاقة ذلك مع السؤال الثاني، فميكروسوفت توفر امكانية العمل مع برامجها من خلال تقنية COM واو الاسم اشهر Ole Automation حيث يمكنك بدء تشغيل اي برنامج من اوفيس او الويندوز اكسبلور من خلال تقنية COm واذا اردت ان تقوم بإضافة زر مثلا او ميزة جديدة ضمن ورد او اي من برامج اوفيس فسوف تقوم بكتابة COm add in
مثلا ال Adobe acrobat يضمن نفسه برامج اوفيس وتجد له toolbar فهذا مثال عن ال add in وطبعا ذلك يتم بإستخدام ال COM
أرجو ان تكون الصورة اوضح الان
لا تحزن:
إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.
لا تحزن:
فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.
شكرا يا أخ محمد ,
يعني أقدر أفهم ان الـ Windows Services ليس له علاقة لا بالـ COM ولا الـ +COM ,
أما بالنسبة للـ Add-in فمرتبطه بالـ COM وليس الـ +COM ,,,
أصل الفكره اني عايز أتعلم برمجة الـ Add-in وعايز أعرف الطريق الصحيح لذلك ؟؟؟
فلو حد عنده فكره عن الـ Add-in ياريت يساعد ,,,
راجع الرابط التالى
Technical Lead Developer
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
أسف لبطء الرد، لكن تعطل التنبيه البريدي يجعل من الصعب تتبع المشاركات، لكن اليوم وصلت ايميلين لهذا الموضوع لذلك تنبهت له مرة اخرى
لو بحثت قليلاً سوف تجد العديد من المواقع ومنها ميكروسوفت نفسها، صراحة لم اقم بذلك من قبل، فليس لي خبرة في مجال ال add ins
هذه بعرض الروابط اتمني ان تفي بالغرض
How To Build an Office COM Add-in by Using Visual C# .NET
Hello Word Outlook Add-In using C#
How to write an Office Plug-In/Add-In Using C#.NET
====
أخ طارق، هل من طريقة لعودة التنبيه البريدي مرة أخرى؟
لا تحزن:
إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.
لا تحزن:
فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.
هذا الموضوع مغلق.