سؤال

إذا قمت بإنشاء مشروع ATL جديد وإضافة كائن COM بسيط لذلك (ملاحظة: كائن وليس عنصر تحكم) الذي يستخدم طراز مؤشر الترابط شقة، سيكون هناك مضخة رسالة التي تعمل تحت غطاء محرك السيارة؟ أريد أن إنشاء إطار الخفية التي هي عضو في صفي كائن COM ولكن لست متأكدا مما اذا كان فعلا سوف يتم تسليم أي رسائل إلى ذلك أم لا. وهذا التعامل وراء الكواليس أو لا يهم أي نوع من التطبيق في الواقع إنشاء كائن COM؟

هل كانت مفيدة؟

المحلول

لا، كائن ATL COM لا يطبق مضخة الرسالة بشكل افتراضي. التعليمات البرمجية يجب أن تستخدم بشكل واضح على طريق مكتبة إطارات عادية أو صريح تنفيذ مضخة الرسالة.

نصائح أخرى

وCOM يستخدم مضخة رسالة تحت غطاء محرك السيارة للتواصل مع كائن COM عند الضرورة، إذا يعيش كائن COM الخاص بك في الشقة. هذه هي الطريقة التي تسمى الطرق بأمان على وجوه الخاص بك (من قبل أن تسلسل من قائمة انتظار الرسالة) عندما دعا من قبل كائن في شقة أخرى (STA أو MTA).

ولا يمكنك الحصول على مضخة رسالة - COM يضع معا بالنسبة لك فقط عند الحاجة لها. ستلاحظ عند التصحيح التي يمكنك استدعاء الأساليب على وجوه الخاص بك مباشرة - كنت لا القفز من خلال مضخة الرسالة. هل سيكون، بطبيعة الحال، إذا كنت وضع الأشياء معا المتعددة التي تعيش في شقق مختلفة.

إذا كنت في حاجة الى النافذة، يمكنك إنشاء واحد باستخدام الأساليب القياسية. يوفر ATL نوافذ الطبقات البسيطة مثل CWindow وCWindowImpl التي يمكن أن تجعل هذا أسهل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top