سجل التعديلات (النسخة الأولى، نُشرت في 28 Aug، 2026)
- النشر الأول
«نقرت نقراً مزدوجاً جدولاً في مواصفة Word فتغيّرت القوائم إلى Excel». هذا سلوك عندما يُدخل الجدول في المستند لا كصورة مجرّدة بل كـ كائن OLE.
OLE اختصار Object Linking and Embedding (ربط الكائنات وتضمينها). يدمج بيانات مستند صنعها تطبيق آخر، تضميناً أو ربطاً، في المستند الذي يصير الحاوية. الكيان التقني كائن COM يمكن تضمينه في مستند أو ربطه به.12
نقطة الانطلاق للفهم «أين توجد البيانات نفسها». متى اتّضح ذلك أمكن ترتيب سبب كبر المستند، وسبب انكسار الرابط عند نقل خادم، وسبب ظهور الجدول دون إمكان التحرير.
هذه المقالة لمسؤولي نظم المعلومات في المؤسّسات الصغيرة والمتوسّطة ولمطوّري تطبيقات الأعمال. نقارن أوّلاً التضمين والربط، ثم نمضي إلى العمليات المألوفة، والتعامل حسب العَرَض، وتنبيهات Access والأمن. البنية الداخلية مثل COM والتخزين المنظَّم في الفصل 7، وأحكام التشغيل والتصميم المقبلة في الفصل 8.
1. الخلاصة أوّلاً: التضمين «نسخة داخل المستند»، والربط «مرجع إلى مكان آخر»
فرق التضمين والربط هو مكان حفظ البيانات نفسها. قابلية النقل وحجم الملفّ وطريقة التحديث تتقرّر من هذا الفرق.3
| نقطة المقارنة | التضمين (Embedding) | الربط (Linking) |
|---|---|---|
| مكان وضع البيانات نفسها | داخل مستند الحاوية | مصدر الرابط. غالباً ملفّ آخر |
| ما يُحفَظ في جهة المستند | البيانات نفسها ومعلومات الإدارة، وعادة ذاكرة تخزين مؤقّت للعرض | اسم مصدر الرابط وموقعه وإعداد التحديث وغيرها من معلومات الإدارة، وعادة ذاكرة تخزين مؤقّت للعرض |
| عند تغيير البيانات الأصلية | لا ينعكس على النسخة المضمَّنة | يمكن الانعكاس حسب إعداد تحديث الرابط |
| عند تحرير الكائن | تحرّر النسخة داخل المستند. لا يؤثّر في البيانات الأصلية | تحرّر بيانات مصدر الرابط |
| حجم المستند | يحمل نسخة من الأصل لذا أكبر عموماً من ربط المحتوى نفسه | لا يحمل الأصل داخل المستند فيسهل إبقاؤه صغيراً |
| التمرير إلى جهاز آخر | مستقلّ عن الملفّ الأصلي. لكن التحرير يتطلّب تطبيق الإنشاء | يلزم أن يُتتبَّع مصدر الرابط من جهة الاستلام أيضاً |
| نقاط الانتباه الرئيسة | التضخّم، والاعتماد على تطبيق الإنشاء | انكسار الرابط، وإعداد التحديث، والاعتماد على تطبيق الإنشاء |
يناسب التضمين عندما تريد استقلال المستند عن الملفّ الأصلي. ويناسب الربط عندما تريد مشاركة البيانات نفسها من مستندات عدّة وعكس تغيير الأصل. لكن تحديث الرابط ليس تلقائياً بالضرورة. ما إذا كان تلقائياً أو يدوياً يُقرَّر بإعداد جهة المستند.456
flowchart TB
accTitle: الفرق بين التضمين والربط
accDescr: يحفظ التضمين البيانات نفسها كاملة داخل مستند الحاوية فيكتفي بذاته مقابل كبر المستند، ويضع الربط في المستند المرجع وإعداد التحديث ومعلومات العرض عادة وتبقى البيانات نفسها في ملفّ مصدر الرابط فيبقى المستند صغيراً ويمكن عكس تغيير المصدر حسب إعداد تحديث الرابط (تلقائي أو يدوي)
doc["مستند الحاوية (مستند Word مثلاً)"] --> emb["تضمين: احفظ البيانات نفسها كاملة"]
doc --> lnk["ربط: مرجع وإعداد ومعلومات عرض (عادة)"]
emb -.-> self["يكتفي بذاته ويكبر"]
lnk --> src["ملفّ مصدر الرابط (الأصل هنا)"]
src -.-> upd["يمكن عكس تغيير الأصل (حسب الإعداد)"]
الشكل 1: هل يحمل المستند الأصل داخله، أم يشير إلى أصل في مكان آخر. هذا الفرق يصل إلى طبيعة الحجم والتحديث والتمرير.
«وجود البيانات داخل المستند» و«إمكان التحرير على أيّ جهاز» أمران مختلفان. كذلك، إن بقيت ذاكرة تخزين مؤقّت للعرض فقد يظهر المظهر الأخير فقط حتّى إن تعذّر استخدام تطبيق الإنشاء أو مصدر الرابط. أساس العزل التفكير بفصل «يُرى» و«يُحرَّر» و«محدَّث إلى الأحدث».78
في المخطّط، يشير الخطّ المتّصل إلى علاقة قائمة دائماً، ويشير الخطّ المتقطّع إلى علاقة مشروطة (شروط قيامها مذكورة في شرح كلّ علاقة في الصفحة التفصيليّة). القائمة الكاملة للعلاقات (المجموع 25، مع الأدلّة ودرجة اليقين) وتعريفات المفاهيم الرئيسة مجمّعة في صفحة تفاصيل خريطة المعرفة (باليابانية). البيانات: JSON-LD / Turtle
2. أين يُستخدم وكيف يدخل المستند
2.1 تلتقيه في Word وExcel وAccess ومستندات الأعمال القديمة
OLE تقنية ساندت ثقافة مستندات Windows منذ التسعينيات. الآلية لا تزال قائمة، لكنّه في العمل يُفهَم أفضل كـ تقنية تلتقيها داخل مستندات وقواعد بيانات قائمة لا كتقنية تُعتمد بحماس في تصميم جديد.
| المكان | مدخل إنشاء كائن OLE | أمثلة المحتوى |
|---|---|---|
| Word / Excel / PowerPoint | «إدراج» ثم «كائن»، و«لصق خاص» | ورقة عمل Excel، ومستند Word، وشكل، ومعادلة |
| Access | حقل نوع كائن OLE | صورة، وورقة Excel، وملفّات متنوّعة |
| مستند نصّ منسَّق (RTF) | لصق تمّ سابقاً في WordPad ونحوه | شكل، وكائن تطبيق آخر |
| تقارير ومواصفات قديمة | تضمين صنعه المسؤول السابق | بيانات تفترض «الفتح بالنقر المزدوج» |
قاعدة بيانات حفظت صور الموظّفين أو المنتجات بنوع كائن OLE أصل قائم نموذجي أيضاً. لهذا الاستخدام مشكلة تضخّم، ونعالج حكم الترحيل في الفصل 5.9
2.2 «إدراج كائن» و«لصق خاص»
في «إدراج كائن» تختار طريقة إنشاء كائن جديد أو الإنشاء من ملفّ قائم. هناك أيضاً طريقة عرض «عرض كأيقونة».
في «لصق خاص» تختار، إلى جانب تنسيق البيانات، التضمين أو الربط. «كائن …» المصطفّ هنا خيار اللصق كـ OLE. اللصق كصورة مجرّدة يختلف في البيانات المحفوظة وفي طريقة التحرير لاحقاً.1011
هذان يقابلان حوارَي OLE القياسيين Insert Object / Paste Special، ويملك MFC أيضاً أصنافاً للعرض. فرق المسار من النسخ واللصق أو السحب والإفلات، والمسار من صنف مسجَّل أو ملفّ مباشرة، مشروح في 7.1.1012
3. ماذا يحدث عند النقر المزدوج
3.1 الحاوية «حاوية»، والتطبيق المسؤول عن التحرير «خادم»
عندما يوجد جدول Excel داخل مستند Word، Word هو حاوية OLE التي تصير الوعاء، وExcel المسؤول عن تحرير الجدول هو خادم OLE. المستند الذي يعالج بيانات من تطبيقات عدّة داخل مستند واحد يُسمَّى مستنداً مركَّباً في OLE.12
ليس أن Word ينفّذ كلّ وظائف تحرير Excel. الآلية استخدام وظائف تطبيق الإنشاء عند تشغيل الكائن. لذا حتّى إن حُفظت البيانات نفسها داخل المستند يتطلّب التحرير تطبيق الإنشاء.
3.2 النقر المزدوج تنفيذ «الفعل الأساسي» الذي يقرّره الكائن
يعرّف كائن OLE العمليّات التي يمكن تنفيذها عليه فعلاً (verb). للجدول «تحرير»، وللصوت «تشغيل»، وما شابه.
يتلقّى تطبيق الحاوية عمليّة مثل النقر المزدوج ويستدعي IOleObject::DoVerb. محتوى الفعل الأساسي (OLEIVERB_PRIMARY)، العملية الافتراضية، يقرّره جانب الكائن لا الحاوية. يشغّل DoVerb تطبيق خادم OLE تلقائياً وينفّذ العملية المناسبة لذلك الكائن. النقر المزدوج لا يعني «تحريراً» دائماً.13
3.3 حالة التحرير داخل Word وحالة الفتح في نافذة أخرى
إن دعم الكائن المضمَّن والحاوية كلاهما In-Place Activation (التنشيط في المكان) أمكن التحرير داخل نافذة الحاوية. يُستبدل شريط القوائم بـ شريط قوائم مركَّب يدمج قوائم الحاوية والخادم معاً. ظهور قائمة تحرير Excel داخل Word هذه الآلية. النقر خارجها يعطّل التنشيط ويعيد القائمة الأصلية.14
sequenceDiagram
accTitle: من النقر المزدوج إلى In-Place Activation
accDescr: يتلقّى تطبيق الحاوية النقر المزدوج وينفّذ الفعل الأساسي بـ DoVerb على IOleObject فيشغّل OLE تطبيق الخادم، وإن دعم الحاوية والخادم كلاهما In-Place Activation يُحرَّر الكائن المضمَّن داخل نافذة الحاوية بدمج القوائم، والنقر خارج الكائن يعطّل التنشيط ويعيد القائمة الأصلية (وإلّا صار التحرير في نافذة أخرى)
participant U as المستخدم
participant C as تطبيق الحاوية (Word مثلاً)
participant S as OLE وتطبيق الخادم
U->>C: انقر نقراً مزدوجاً الكائن المضمَّن
C->>S: نفّذ الفعل الأساسي بـ DoVerb
alt كلاهما يدعم In-Place Activation
S->>C: تشغيل الخادم ودمج القوائم
U->>C: حرّر في المكان
U->>C: انقر خارج الكائن
C->>S: تعطيل التنشيط والعودة إلى القائمة الأصلية
else أحدهما لا يدعم
S->>C: حرّر في نافذة أخرى
end
الشكل 2: لتحرير التضمين في المكان يلزم دعم الحاوية والخادم معاً. إن لم يُدعَم يُحرَّر في نافذة أخرى.
طريقة الفتح تتغيّر حسب نوع الكائن والفعل المنفَّذ ودعم التطبيق.
| الشرط | طريقة الفتح |
|---|---|
| تضمين، وكلاهما يدعم In-Place Activation، ويتمّ التحرير في المكان | حرّر داخل نافذة الحاوية |
| تضمين، لكن أحدهما لا يدعم In-Place Activation | حرّر في نافذة أخرى |
تضمين مع تحديد OLEIVERB_OPEN |
افتح في نافذة أخرى |
| كائن رابط | افتح دائماً في نافذة أخرى |
In-Place Activation آلية تفترض التضمين، ولا تُستخدم للربط. كذلك التنفيذ اختياري للحاوية والخادم كليهما. «المستند نفسه لكن طريقة الفتح تختلف» وحده لا يكفي للحكم بعطل.11413
4. العزل من الأعراض: لا يتحدّث، كبير، لا يُفتح
4.1 الجدول يُرى لكن تغيير مصدر الرابط لا ينعكس
أكّد موقع مصدر الرابط وطريقة تحديث الرابط. ما يحمله الرابط في جهة المستند ليس البيانات نفسها بل معلومات إدارة مثل اسم مصدر الرابط وموقعه وإعداد التحديث، وعادة ذاكرة تخزين مؤقّت للعرض.155
دور تتبّع مصدر الرابط يتولّاه مكوّن COM يُسمَّى المُعرِّف (moniker). عندما يتعذّر تتبّع الموقع بعد التغيير بنقل خادم ملفّات أو إعادة تسمية مجلّد أو تغيير مسار مشاركة أو حذف الملفّ الأصلي، يفشل حلّ الرابط. هذا انكسار الرابط.
عندئذ إن حُفظت ذاكرة تخزين مؤقّت للعرض بقي جدول قديم في المستند. ظهور الجدول ليس دليلاً على سلامة الرابط. لكائن أُنشئ بتحديد عدم حمل ذاكرة تخزين مؤقّت لا يبقى ذلك العرض الأخير أيضاً.78
التدبير إعادة ربط مسار مصدر الرابط بالموقع الجديد من «تحرير الروابط» في المستند. إن كان المسار صحيحاً ولم يتحدّث فقد يكون مضبوطاً على تحديث يدوي فحسب، لذا أكّد أيضاً طريقة التحديث. متى ينعكس تغيير مصدر الرابط يعتمد على إعداد التحديث التلقائي أو اليدوي.6
إن كثرت المستندات التي تكثر فيها الروابط فـ أدرج الجرد قبل النقل وتحديث الروابط بعده في خطّة نقل خادم الملفّات. خطّط إن أمكن للتحديث الجماعي أيضاً. إن اكتُشف بعد النقل أوّلاً صرت تبحث مصدر الرابط الذي كان يستخدمه المسؤول السابق مستنداً مستنداً.
4.2 مستند Word أو Excel ضخم على نحو غريب
أكّد ما إذا لزم إعادة التحرير، وراجع الحاجة إلى حمل البيانات نفسها داخل المستند. ينسخ التضمين الأصل ويحفظه داخل المستند، لذا أكبر عموماً من ربط المحتوى نفسه. عادة تُحفَظ أيضاً ذاكرة تخزين مؤقّت للعرض، لذا ليس بالضرورة أن بيانات التحرير وحدها داخله.47
عندما يكبر تقرير ضمّن جداول كثيرة ويستغرق الفتح وقتاً، اشلك هذه البنية. اختر التدبير حسب طريقة الاستخدام.
| كيف تستخدم تلك البيانات | طريقة المراجعة |
|---|---|
| لا حاجة لإعادة التحرير على المستند | الصق كصورة |
| تريد مشاركة البيانات الأصلية وعكس التغيير | شارك الملفّ الأصلي على حدة وضع رابطاً في المستند |
| تُدار البيانات الأصلية على حدة ويكفي المظهر في المستند | شارك الملفّ الأصلي وضع صورة فقط في المستند |
لكن التحويل إلى ربط لتقليل الحجم يزيد مسؤولية إدارة مصدر الرابط. في المستندات الموزَّعة يسهل انقطاع المرجع، لذا لا يناسب تدبير «اجعل كلّ التضمين ربطاً» مجرّداً.
4.3 النقر المزدوج لا يفتح ولا يحرّر
أكّد أوّلاً ما إذا كان تطبيق إنشاء ذلك الكائن موجوداً على الجهاز الحالي أيضاً. اكتفاء التضمين بذاته حديث عن مكان حفظ البيانات، وليست وظيفة التحرير داخلة في المستند.
إن لم يوجد تطبيق الإنشاء أمكن استخدام ذلك العرض فقط إن حُفظت ذاكرة تخزين مؤقّت للعرض. بيانات العرض المخزَّنة مؤقّتاً مصمَّمة لتكون متاحة من الحاوية حتّى عندما لا يكون تطبيق الخادم شغّالاً أو متاحاً.7
لكن إن لُصق بـ «عرض كأيقونة» ظهرت الأيقونة دون إمكان تأكيد المحتوى. لكائن بلا ذاكرة تخزين مؤقّت أصلاً لا يبقى المظهر الأخير أيضاً. وجود ذاكرة التخزين المؤقّت يعتمد على تحديد OLERENDER عند الإنشاء.8
إن وُجد تطبيق الإنشاء ولم يُفتح فاعزل بهذا الترتيب.
- أكّد توافق إصدار التطبيق. قد يلزم تحويل النوع، ولـ OLE حوار قياسي للتحويل أيضاً.
- أكّد نقص تسجيل صنف COM (CLSID) أو تلفه. قد يلزم إصلاح التسجيل بإعادة تثبيت التطبيق ونحوه.
- أكّد الحظر بإعداد أمني وتلف جهة المستند.10
لمستند مجهول المصدر لا تقدّم جعله قابلاً للفتح؛ شغّل دون تنشيط الكائن. المعاملة الأمنية مشروحة في الفصل 6.
5. في Access افصل «هل تريد التخزين فقط أم يلزم سلوك OLE»
5.1 وضع صورة في نوع كائن OLE يسهّل التضخّم
نوع كائن OLE في Access نوع حقل لتضمين جداول بيانات Excel ومستندات Word وأشكال وصوت وغيرها في جدول أو ربطها. الحدّ الأعلى نحو 1 غيغابايت.9
استخدام هذا النوع لحفظ صور الموظّفين أو المنتجات فقط يصير كفاءة التخزين مشكلة. توضّح Microsoft أن نوع المرفق أكثر مرونة من نوع كائن OLE ولا يصنع صورة نقطية للملفّ الأصلي فيستخدم التخزين بكفاءة أكبر.9
لكن تغيير النوع إلى مرفق لا يلغي حدّ السعة.
| البند | القيد والطبيعة |
|---|---|
| التنسيق الذي يمكن استخدام نوع المرفق فيه | .accdb |
| الحجم الأقصى لقاعدة البيانات كلّها | 2 غيغابايت |
| الحجم الأقصى لكلّ ملفّ مرفق | 256 ميغابايت |
| عرض الصور | BMP وPNG وJPEG وغيرها تُعرَض بلا برمجيات إضافية |
هذه قيود نوع المرفق في Access. حدّ نوع كائن OLE نحو 1 غيغابايت هدف مختلف.16
5.2 إن كان التخزين فقط فإلى نوع المرفق أو إدارة مجلّد ومسار
في تصميم جديد يحفظ صوراً وملفّات فقط لا حاجة لاختيار نوع كائن OLE. ادرس نوع المرفق، أو تصميماً يضع الملفّات في مجلّد ويحمل المسار فقط في قاعدة البيانات. وحتّى في قاعدة قائمة هذان خيارا وجهة الترحيل.
أمّا إن لزم سلوك خاص بـ OLE مثل الربط أو التنشيط فالحديث مختلف. في هذه الحالة احكم بما فيه الإبقاء على الوضع الحالي. لا «استبدل فوراً لأنّه نوع كائن OLE»؛ افصل أوّلاً ما إذا كان تخزيناً مجرّداً أم يلزم تشغيله ككائن.916
6. الأمن: عامل التضمين العادي وحزمة OLE على حدة
6.1 يصير المستند مدخل تشغيل تطبيق آخر
في OLE تُدخل كائن تطبيق آخر داخل المستند وتشغّله على جهاز جهة الفتح. هذه البنية تصير وسيلة نقل للمهاجم أيضاً.
فعلاً استُخدمت ثغرة CVE-2014-4114 التي تنفّذ شيفرة اعتباطية عبر ملفّ PowerPoint يحتوي كائن OLE مصنوع في هجوم موجَّه. لأن تنسيقات Office وغيرها ممّا يمكنه تخزين كائن OLE قد تصير مسار هجوم، يصير «قصد القراءة فقط» مدخل تنفيذ.17
6.2 احظر تنشيط حزمة OLE تنظيمياً
ما ينبغي الانتباه إليه خصوصاً هو حزمة OLE (Object Packager). آلية قديمة تلفّ أيّ ملفّ ككائن OLE في المستند، ويمكنها تخزين ملفّ تنفيذي أيضاً. ثغرة تنفيذ شيفرة عن بُعد تتعلّق بـ Object Packager نُشرت أيضاً.18
لذا يصير حظر تنشيط حزمة OLE في Word وExcel وPowerPoint بإعداد سجلّ تدبير تعزيز. دليل Microsoft المقابل لـ Essential Eight للحكومة الأسترالية يعرض إجراء توزيع سكربت PowerShell للإعداد على المنظّمة عبر Intune.19
قسّم التشغيل إلى النقاط الثلاث التالية.
- لا تفتح كائنات مستندات مجهولة المصدر ولا تدع غيرك يفتحها. عامل التنشيط بوزن فتح ملفّ آخر.
- احظر تنشيط حزمة OLE تنظيمياً. مواقف يحتاجها العمل العادي نادرة أوّلاً، لذا لا تعتمد على انتباه الأفراد وحدهم.
- لا تحظر جملة واحدة التضمين والربط العاديين في مستندات داخلية. افصل خطر الحزمة والمستندات المصنوعة عن الاستخدام القائم في العمل واحكم.
خلاصة هذه المقالة ليست «احظر OLE كلّه». ليست حظر تضمين جدول Excel عادي جملة واحدة فيوقف العمل، بل ترتيب يعامل كائنات مجهولة المصدر وحزمة OLE تركيزاً.
7. البنية الداخلية: أدوار COM والتخزين المنظَّم والمُعرِّف
من هنا شرح أقرب إلى التنفيذ يلزم لصيانة تطبيقات الأعمال وتحقيق أصول المستندات. نقابل الأعراض حتّى الآن بـ «أيّ آلية تتولّى».
7.1 ثلاثة أسس تسند المستند المركَّب في OLE
يقوم المستند المركَّب في OLE على COM والتخزين المنظَّم ونقل البيانات الموحَّد. يكشف الكائن، إلى جانب IUnknown في COM، واجهات خاصّة بالمستند المركَّب مثل IOleObject وIViewObject2. ينفّذ كائن الرابط علاوة على ذلك IOleLink.2
| الأساس | ما يتولّاه | الواجهات الرئيسة |
|---|---|---|
| COM | كيان الكائن والعقد للتشغيل | IUnknown، وIOleObject، وIViewObject2، وIOleLink للربط |
| التخزين المنظَّم | الحفظ الهرمي داخل المستند | IStorage، وIStream |
| نقل البيانات الموحَّد | مدخل صنع التضمين والربط من النسخ واللصق أو السحب والإفلات | IDataObject |
في مسار نقل البيانات يقدّم خادم OLE بياناته بـ IDataObject، ويبلّغ الحاوية عبر تنسيق حافظة مخصَّص ما إذا أمكن اللصق تضميناً أو ربطاً. هذا يصل إلى خيارات «لصق خاص».12
لكن ليست كلّ عمليّات الإنشاء تمرّ عبر IDataObject. الإنشاء الجديد من «إدراج كائن»، أو الإنشاء من ملفّ قائم، مسار آخر يصنع الكائن مباشرة من صنف مسجَّل أو ملفّ. آلية الحافظة والسحب والإفلات نفسها مشمولة في «كيف تعمل الحافظة والسحب والإفلات».
7.2 التخزين المنظَّم «نظام ملفّات داخل ملفّ واحد»
في التخزين المنظَّم تُصنع داخل ملفّ واحد هرمية تخزين (IStorage) يعادل دليلاً وجدول (IStream) يعادل ملفّاً. تحت التخزين الجذر يمكن تداخل تخزين فرعي وجداول.20
التنفيذ القياسي الذي يقدّمه COM هو الملفّات المركَّبة (Compound Files). تنسيق ملفّ واحد يُعامَل دون الاعتماد على نظام ملفّات مثل FAT أو NTFS، والتنسيق نفسه منشور كـ MS-CFB (Compound File Binary File Format).2122
تجهّز الحاوية وجهة حفظ الكائن. يكتب كائن يستمرّ بـ IPersistStorage بياناته إلى IStorage الممرَّر. إن استخدم التنفيذ IPersistStream فوجهة الحفظ IStream.2
flowchart TB
accTitle: البنية الداخلية للملفّ المركَّب
accDescr: يملك الملفّ المركَّب تحت التخزين الجذر هرمية تخزين يعادل دليلاً وجدول يعادل ملفّاً، ويُحفَظ كائن مضمَّن يستمرّ بـ IPersistStorage في تخزين فرعي وكائن يستمرّ بـ IPersistStream في جدول، ويمكن إكساب تخزين الكائن المضمَّن CLSID يحدّد تطبيق الإنشاء (وقد يكون فارغاً)، ويُحفَظ جدول ذاكرة التخزين المؤقّت للعرض عادة لكن قد لا يُحمَل حسب التحديد عند الإنشاء، ويعمل كنظام ملفّات داخل ملفّ واحد
root["التخزين الجذر (جسم المستند)"] --> s0["جدول: بيانات المتن"]
root --> st1["تخزين: تضمين (IPersistStorage)"]
st1 --> s1["جدول: بيانات الكائن"]
st1 --> s2["جدول: ذاكرة تخزين مؤقّت للعرض (عادة)"]
st1 -.-> cls["يمكن إظهار المنشئ بـ CLSID (اختياري)"]
root -.-> s3["جدول: استمرارية IPersistStream"]
الشكل 3: تُصنع هرمية داخل المستند ويحفظ الكائن نفسه البيانات. ميّز الاستمرارية التي تستخدم التخزين عن التي تستخدم الجدول.
يمكن إكساب قيد الدليل CLSID يحدّد منشئ الكائن. إن وُجد CLSID في تخزين التضمين أمكن الحكم بأيّ تطبيق ينبغي فتح الكائن. لكن CLSID قد يكون فارغاً، وقد لا توجد ذاكرة تخزين مؤقّت للعرض حسب التحديد عند الإنشاء.228
7.3 حتّى بعد صيرورة .docx لم يختفِ تنسيق حفظ OLE
تنسيق Office القديم .doc / .xls هو الملفّ نفسه ملفّاً مركَّباً. يُخزَّن جسم المستند جدولاً والكائن المضمَّن تخزيناً فرعياً.
التنسيق الحالي .docx / .xlsx تنسيق Open XML قائم على ZIP، لكن ثنائي تضمين OLE القديم oleObject*.bin لا يزال يُخزَّن بتنسيق ملفّ مركَّب. من جهة أخرى، في تضمين مستندات Office الجديدة بعضها بعضاً قد يستوعب الملفّ مثل .xlsx داخل ZIP كما هو.22
| ما يُحفَظ | وعاء الحفظ |
|---|---|
.doc / .xls بتنسيق Office القديم |
الملفّ كلّه ملفّ مركَّب |
| تضمين OLE قديم داخل التنسيق الحالي | الثنائي داخل ZIP ملفّ مركَّب |
| تضمين مستندات Office الجديدة بعضها بعضاً | قد يُخزَّن الملفّ كما هو داخل ZIP |
أي أن الملفّ المركَّب ليس مجرّد «تنسيق مستند قديم»، بل يبقى داخل المستندات الحالية أيضاً تنسيق حفظ متداخلاً.
7.4 موقع الرابط المُعرِّف، والتحديث تديره إعدادات الرابط
المُعرِّف مكوّن يمثّل موقع كائن في COM اسماً ويحلّه عند الحاجة. يُسمَّى هذا الحلّ ربطاً (bind). يستخدم كائن الرابط المُعرِّف ويدير تسمية مصدر الرابط وتتبعه وتشغيله.15
IOleLink واجهة تقدّم وظائف إدارة مصدر الرابط إلى الحاوية. تستطيع الحاوية من وجودها الحكم تضميناً أم ربطاً. حتّى عند حفظ مستند يحتوي رابطاً تُحفَظ بيانات الرابط في مصدر الرابط. ما يبقى في المستند معلومات إدارة الرابط نفسه مثل الاسم والموقع وإعداد التحديث، وعادة ذاكرة تخزين مؤقّت للعرض.15
هذا التقسيم يصل إلى «الجدول يُرى لكن لا يتحدّث» في 4.1. إن فشل حلّ مصدر الرابط تعذّر بلوغ الأصل، وحتّى إن بُلغ وكان التحديث يدوياً لم يتحدّث تلقائياً. فصل حلّ الموقع وإعداد التحديث وعرض ذاكرة التخزين المؤقّت يرتّب السبب.67
8. كيف نتعامل الآن: لا تزد اعتماداً جديداً، وافهم الاعتماد القائم
الأساس تجنّب الاعتماد على تضمين OLE في تصميم جديد، ومعاملة الأصول القائمة بـ «الحفاظ على بيئة تفتح» و«الجرد». واصل الاستخدام أم لا يُحكَم حسب الموقف.
| الموقف | التدبير الموصى به | السبب |
|---|---|---|
| تشغيل مستندات جديد | الصق كصورة، وشارك الملفّ الأصلي، إلخ، دون الاعتماد على التضمين. قلّل الربط أيضاً | تجنّب التضخّم واعتماداً جديداً على بيئة التحرير |
| تريد إدخال بيانات تطبيق آخر في مستند في تطبيق أعمال جديد | صمّم بصورة أو PDF أو إرفاق ملفّ بدل تنفيذ حاوية OLE | مواقف تبرّر تكلفة التنفيذ والصيانة نادرة الآن تقريباً |
| مستندات تضمين قائمة | حافظ على بيئة تفتح، واجعل نسخة PDF تتعايش للمستندات المهمّة | حتّى إن وُجدت البيانات داخل المستند يتعذّر التحرير إن فُقد تطبيق الإنشاء |
| مستندات تكثر فيها الروابط ونقل خادم ملفّات | أدرج جرد الروابط وتحديثها في خطّة النقل | إن تعذّر تتبّع الموقع بعد النقل انكسر الرابط |
| تخزين صور وملفّات في Access | رحّل إلى نوع المرفق أو إدارة المسار. إن لزم سلوك خاص بـ OLE فاحكم على حدة | للتخزين المجرّد نوع المرفق أكثر مرونة وكفاءة |
| تعزيز أمن بيئة Office | احظر تنشيط حزمة OLE تنظيمياً | يُعرَض تدبير تعزيز مقابل إرشادات رسمية |
حكما Access والأمن يقابلان أيضاً مواد Microsoft.919
في الحفظ الطويل ليست البيانات وحدها بل بيئة الفتح أيضاً جزءاً من الأصل. بتعاقب أجيال التطبيقات وتغيّر نظام التشغيل يُفقَد فرض أن تطبيق الإنشاء متاح. إلى جانب إبقاء نسخة PDF للمستندات المهمّة يلزم تدبير مثل الحفاظ على بيئة تفتح في جهاز افتراضي.
تواصل آلية OLE العمل ما دام Windows يحافظ على التوافق الخلفي. لكن ما إذا فتح كلّ كائن يعتمد على بقاء تطبيق الإنشاء. إن أُمِّن ذلك الفرض فلا حاجة للإلغاء الكلّي على عجل.
في الجرد افهم الثلاثة: الخادم الذي فيه مصدر الرابط، والمستندات التي تتضمّن تضميناً، وقواعد البيانات التي تستخدم نوع كائن OLE. إن اتّضحت علاقة الاعتماد هذه أمكن دمج النقل وتعزيز الأمن والترحيل في الخطّة.
9. خلاصة
كائن OLE كائن COM لمعاملة بيانات مستند تطبيق آخر تضميناً أو ربطاً. التضمين يحفظ الأصل داخل المستند، والربط يشير إلى أصل في مكان آخر. امسك هذا الفرق أوّلاً.245
ثم فكّر بفصل العرض والتحرير والتحديث. حتّى إن بقيت ذاكرة تخزين مؤقّت للعرض لا يمكن التحرير بلا تطبيق الإنشاء، ولا التحديث إن تعذّر تتبّع مصدر الرابط. تتغيّر أيضاً طريقة الفتح عند النقر المزدوج حسب نوع الكائن والفعل ودعم In-Place Activation.
في تشغيل جديد لا تزد اعتماداً، وفي المستندات القائمة افهم بيئة الفتح والمرجع وحافظ عليهما. لتخزين الصور والملفّات المجرّد في Access استخدم نوع المرفق أو إدارة المسار، واحظر تنشيط حزمة OLE تنظيمياً.
COM، والحافظة والسحب والإفلات، والمستند المركَّب في هذه المقالة جوانب مختلفة لكلمة OLE. فصل أدوار أساس المكوّنات ونقل البيانات والدمج في المستند يسهّل تتبّع ما يحدث داخل أصول الأعمال القديمة.
مقالات ذات صلة
- ما COM / ActiveX / OCX - شرح الفروق والعلاقة مجتمعة
- كيف تعمل الحافظة والسحب والإفلات ── معالجة نقل بيانات OLE بشكل صحيح في تطبيقات الأعمال
- أساسيات COM STA/MTA - نموذج الخيوط وتفكير تجنّب التعليق
- مشكلة بقاء EXCEL.EXE في تشغيل Excel من C# ── أنماط تحرير مرجع COM وحكم الاستبدال
- كيف نعامل ActiveX / OCX الآن - جدول قرار الإبقاء أو التغليف أو الاستبدال
- إطالة عمر تطبيقات أعمال VB6 / Access وترحيلها ── جدول قرار الإبقاء أو التغليف أو الاستبدال
مجالات الاستشارة ذات الصلة
تتعامل شركة كومورا سوفت ذ.م.م. مع تحقيق أصول مستندات وقواعد بيانات قديمة تتداخل فيها OLE وCOM وترحيلها (الخروج من نوع كائن OLE في Access، وجرد المستندات المضمَّنة وتحويلها إلى PDF، والمعالجة الجماعية للروابط المكسورة)، وصيانة تطبيقات الأعمال التي تتضمّن مكوّنات COM وتعديلها، وتصميم تطبيقات تتكامل مع Office. يمكن الاستشارة حتّى من مرحلة «لا أفهم ماذا يحدث عند النقر المزدوج على هذا المستند».
روابط مرجعيّة
-
Microsoft Learn, OLE Background. حول اشتقاق OLE من اختصار Object Linking and Embedding، ودمج مستند OLE (المستند المركَّب) بيانات من تطبيقات عدّة، وتقسيم أدوار الحاوية والخادم، ولمحة In-Place Activation (التحرير البصري) وعدم تنشيط عنصر الرابط في المكان. ↩ ↩2 ↩3
-
Microsoft Learn, Compound Documents. حول قيام المستند المركَّب في OLE على COM والتخزين المنظَّم ونقل البيانات الموحَّد، وكون كائن المستند المركَّب كائن COM يمكن تضمينه في مستند أو ربطه به ويكشف واجهات خاصّة مثل IOleObject وIOleLink وIViewObject2، وإدارة الكائن حفظه بـ IPersistStorage/IPersistStream وتوريد الحاوية IStorage. ↩ ↩2 ↩3 ↩4 ↩5
-
Microsoft Learn, Linking and Embedding. حول وجود نوعين لكائن المستند المركَّب، الربط والتضمين، وتأثير فرق مكان حفظ بيانات المصدر في قابلية النقل والتنشيط والتحديث والحجم. ↩
-
Microsoft Learn, Embedded Objects (COM). حول حفظ الكائن المضمَّن مادياً داخل المستند المركَّب مع معلومات الإدارة، وكبر المستند أكثر ممّا عند حمله ربطاً، وعدم انعكاس تغيير المصدر على النسخة المضمَّنة، وميزة قابلية النقل دون انكسار رابط عند التمرير إلى جهاز آخر وIn-Place Activation. ↩ ↩2 ↩3
-
Microsoft Learn, Linked Objects. حول بقاء بيانات المصدر في مصدر الرابط في كائن الرابط وحفظ المرجع ومعلومات العرض فقط في المستند، وسهولة إبقاء حجم المستند صغيراً، وانعكاس تغيير مصدر الرابط على كلّ المستندات التي تحتوي الرابط، وتشغيل تنشيط الرابط تطبيق الخادم. ↩ ↩2 ↩3
-
Microsoft Learn, OLEUPDATE enumeration (oleidl.h). حول وجود تحديث تلقائي (OLEUPDATE_ALWAYS) ويدوي (OLEUPDATE_ONCALL) لتحديث ذاكرة التخزين المؤقّت لكائن الرابط، ومقابلتهما خياري التحديث التلقائي واليدوي في حوار الرابط، والتحديث يدوياً فقط عند استدعاء IOleObject::Update أو IOleLink::Update. ↩ ↩2 ↩3
-
Microsoft Learn, IOleCache interface (oleidl.h). حول كونها واجهة تقدّم التحكّم في بيانات العرض المخزَّنة مؤقّتاً داخل الكائن، وإمكان استخدام بيانات العرض المخزَّنة مؤقّتاً من حاوية الكائن حتّى عندما لا يكون تطبيق الخادم شغّالاً أو متاحاً. ↩ ↩2 ↩3 ↩4 ↩5
-
Microsoft Learn, OLERENDER enumeration (oleidl.h). حول كونه نوع تعداد يبيّن نوع ذاكرة التخزين المؤقّت المحلّية المطلوبة عند إنشاء تضمين أو ربط، وعدم طلب قدرة رسم أو جلب بيانات تُخزَّن مؤقّتاً محلّياً عند تحديد OLERENDER_NONE (بلا ذاكرة تخزين مؤقّت للعرض). ↩ ↩2 ↩3 ↩4
-
Microsoft Learn, DataType property (Access). حول كون نوع كائن OLE في Access نوعاً لتضمين كائنات مثل جداول بيانات Excel ومستندات Word وأشكال وصوت في جدول أو ربطها وحدّه الأعلى نحو 1 غيغابايت، وكون نوع المرفق أكثر مرونة من نوع كائن OLE ولا يصنع صورة نقطية للملفّ الأصلي فيستخدم التخزين بكفاءة أكبر. ↩ ↩2 ↩3 ↩4 ↩5
-
Microsoft Learn, Dialog boxes in OLE. حول أدوار حوارات OLE القياسية Insert Object (إدراج كائن من جديد أو ملفّ قائم والعرض أيقونة)، وPaste Special (اختيار التنسيق والتضمين/الربط/العرض أيقونة)، وChange Icon، وConvert (تحويل نوع عنصر التضمين أو الرابط). ↩ ↩2 ↩3
-
Microsoft Learn, Selection.PasteSpecial method (Word). حول دالّة VBA التي تعادل لصق خاص في Word، وإمكان التحكّم، إلى جانب تحديد تنسيق اللصق، باللصق ربطاً بوسيط Link والعرض أيقونة بوسيط DisplayAsIcon. ↩
-
Microsoft Learn, Creating Linked and Embedded Objects from Existing Data. حول بدء إنشاء كائنات التضمين والربط من نقل بيانات IDataObject عبر الحافظة أو السحب والإفلات، وتقديم خادم OLE تنسيقات حافظة مخصَّصة لإنشاء التضمين والربط بترتيب الوفاء، وإمكان اختيار التضمين أو الربط بأمر يعادل «لصق خاص». ↩ ↩2
-
Microsoft Learn, IOleObject::DoVerb method (oleidl.h). حول كون الفعل (verb) إجراء يعرّفه الكائن، وكون OLEIVERB_PRIMARY الذي يقرّر السلوك عند النقر المزدوج يقرّره الكائن لا الحاوية، وتشغيل DoVerb تطبيق خادم OLE تلقائياً، وجعل OLEIVERB_OPEN الكائن المضمَّن يُفتح في نافذة أخرى. ↩ ↩2
-
Microsoft Learn, Implementing In-Place Activation. حول تمكين In-Place Activation تشغيل الكائن المضمَّن دون مغادرة مستند الحاوية، واستبدال شريط القوائم عند التنشيط بشريط قوائم مركَّب يدمج قوائم الحاوية والخادم والعودة عند تعطيل التنشيط، وكون التنفيذ اختيارياً للحاوية والخادم كليهما، وفتح كائن الرابط دائماً في نافذة أخرى. ↩ ↩2
-
Microsoft Learn, Linked Objects and Monikers. حول تولّي كائن الرابط تسمية المصدر بالمُعرِّف والربط لإيجاد المصدر وتشغيله، وتقديم IOleLink التعرّف على كونه رابطاً ووظائف إدارة مصدر الرابط، وحفظ البيانات في مصدر الرابط عند حفظ مستند يحتوي رابطاً وحفظ معلومات الاسم والموقع فقط في جهة المستند. ↩ ↩2 ↩3
-
Microsoft Learn, Attachment object (Access). حول إمكان استخدام نوع المرفق في قاعدة بيانات بتنسيق .accdb، وكون حدّ البيانات القابلة للإرفاق الحجم الأقصى لقاعدة البيانات 2 غيغابايت وكلّ ملفّ حتى 256 ميغابايت، وإمكان عرض تنسيقات صور مثل BMP وPNG وJPEG بلا برمجيات إضافية. ↩ ↩2
-
Microsoft Learn, Microsoft Security Bulletin MS14-060 (CVE-2014-4114). حول كون OLE تقنية تمكّن إنشاء بيانات مركَّبة وتحريرها، وثغرة تمكّن تنفيذ شيفرة اعتباطية بحقوق المستخدم الحالي بفتح ملفّ يحتوي كائن OLE مصنوع، وإمكان احتواء تنسيقات Office وغيرها ممّا يخزّن كائن OLE كائن OLE خبيثاً، وتأكيد هجمات موجَّهة محدودة تستغلّ هذه الثغرة. ↩
-
Microsoft Learn, Microsoft Security Bulletin MS12-002. حول كون Windows Object Packager أداة تصنع حزمة يمكن إدراجها في ملفّ، وثغرة تنفيذ شيفرة عن بُعد (CVE-2012-0009) الناجمة عن تسجيل وتنفيذ غير سليمين والحلول البديلة. ↩
-
Microsoft Learn, Essential Eight user application hardening. حول عرض دليل تعزيز مقابل Essential Eight للحكومة الأسترالية إجراء توزيع سكربت PowerShell عبر Intune يُدخل مفاتيح سجلّ تحظر تنشيط حزمة OLE في Excel وPowerPoint وWord. ↩ ↩2
-
Microsoft Learn, IStorage interface (objidl.h). حول تمكين التخزين المنظَّم تخزيناً هرمياً للمعلومات داخل ملفّ واحد وتسميته «نظام ملفّات داخل ملفّ»، ومعادلة التخزين دليلاً والجدول ملفّاً، وإمكان تداخل تخزين فرعي وجداول تحت التخزين الجذر. ↩
-
Microsoft Learn, Compound Files. حول كون الملفّ المركَّب التنفيذ القياسي للتخزين المنظَّم الذي يقدّمه COM، وعمله فوق نظام ملفّات مسطّح قائم وكونه تنسيقاً مستقلّاً عن نظام الملفّات يُفتح بين FAT وNTFS وأنظمة ملفّات Mac، وإمكان تعداد الكائنات الداخلية والإشارة إليها بواجهات قياسية. ↩
-
Microsoft Learn, [MS-CFB]: Compound File Binary File Format. المواصفة المنشورة لتنسيق ثنائي الملفّ المركَّب. تعريف بنية شبيهة بنظام ملفّات تخزّن جداول بيانات خاصّة بالتطبيق داخل ملفّ واحد، وقيد الدليل الذي يعدّد التخزين والجداول وحقل CLSID فيه. ↩ ↩2 ↩3
مقالات ذات صلة
أحدث المقالات التي تشترك في نفس الوسوم. عمّق فهمك بمواضيع مرتبطة.
كيف تعمل الحافظة والسحب والإفلات ── معالجة نقل بيانات OLE بشكل صحيح في تطبيقات الأعمال
لماذا ينهار لصق Excel ويفشل اللصق بعد إغلاق المصدر: تنسيقات الحافظة، والعرض المؤجَّل، وسحب وإفلات OLE، وسياسات السجلّ ومزامنة السحابة.
WinRT هو COM ── IInspectable و.winmd وإسقاط اللغات، ولماذا لا يزال WinUI يركب عقداً ثنائياً
WinRT ليس وقت تشغيل مُداراً؛ بل ABI أُضيفت إليه بيانات وصفية (.winmd) وإسقاطات لغات فوق COM. من علاقة IUnknown وIInspectable إلى تهيئة HW...
ما ينبغي تنظيمه قبل طلب التعهيد أو التطوير التعاقديّ لتطبيق Windows
قبل تكليف جهة خارجية بتطوير تطبيق Windows تعاقديّاً، إليك النقاط التي ينبغي تنظيمها: تعديل البرمجيّات القائمة، وتكامل الأجهزة، وCOM/Activ...
أسباب توقّف ActiveX على Office 2024 / Microsoft 365 وخطوات التحقّق
عندما يتوقّف ActiveX على Office 2024 / Microsoft 365، نرتّب ترتيب الفصل بين التعطيل الافتراضيّ و 32bit/64bit وتسجيل COM وDLL التابعة و IE...
كيف تبني إخراج تقارير Excel - COM وOpen XML والقوالب
يتغيّر تصميم إخراج تقارير Excel كثيراً بحسب ما إذا كنت تشغّل Excel تلقائياً، أو تولّد xlsx مباشرة، أو تبقي VBA القائمة. نرتّب معايير اختي...
أين يتصل هذا الموضوع
ترتبط هذه المقالة بشكل طبيعي بصفحات الخدمات التالية.
تطوير تطبيقات ويندوز
ندعم تطوير برامج ويندوز للأعمال، وتكامل الأجهزة، وأدوات التواصل.
دعم إعادة استخدام الأصول القديمة وترحيلها
ندعم إعادة استخدام وترحيل الأصول التي تحمل قيود COM / ActiveX / OCX أو 32bit / 64bit.
الأسئلة الشائعة
أسئلة شائعة حول موضوع هذه المقالة.
- ما الفرق بين التضمين والربط؟
- يختلف مكان وضع البيانات نفسها. التضمين (Embedding) يحفظ بيانات الكائن كاملة داخل مستند الحاوية. يستقلّ المستند عن الملفّ الأصلي، لذا لا ينقطع المرجع عند تمريره إلى جهاز آخر (لكن التحرير يتطلّب تطبيق الإنشاء على الجهاز المستلم أيضاً. إن لم يوجد لا ترى سوى ذاكرة التخزين المؤقّت للعرض إن حُفظت، وكائن معروض أيقونة لا يتيح تأكيد المحتوى). في المقابل يكبر الملفّ، ولا ينعكس تغيير البيانات الأصلية على جهة المستند. الربط (Linking) يضع في المستند المرجع فقط (اسم مصدر الرابط وموقعه) وإعداد التحديث ومعلومات العرض، وتبقى البيانات نفسها في ملفّ مصدر الرابط. يبقى المستند صغيراً ويمكن عكس تغييرات المصدر عليه (تلقائياً أو يدوياً حسب إعداد تحديث الرابط)، لكن إن نُقل مصدر الرابط أو أُعيدت تسميته وتعذّر تتبّع الوجهة انكسر الرابط. تختار أيّهما تلصق من حوار «لصق خاص» أو «إدراج كائن».
- لماذا لا يفتح كائن مضمَّن في المستند أو لا يُحرَّر عند النقر المزدوج؟
- أكثر الأسباب شيوعاً أن تطبيق إنشاء ذلك الكائن غير مثبَّت على الجهاز الحالي. يتمّ تحرير الكائن المضمَّن بتشغيل تطبيق الإنشاء (خادم OLE)، فإن لم يوجد التطبيق لا تستطيع سوى عرض ذاكرة التخزين المؤقّت للعرض إن حُفظت، وفي حالة العرض أيقونة لا ترى المحتوى أيضاً. إن وُجد تطبيق الإنشاء ولم يُفتح فاشك بالترتيب في حالة تتطلّب «تحويلاً» بسبب فرق الإصدار، ونقص تسجيل صنف COM (CLSID) أو تلفه ممّا يُصلَح بإعادة التثبيت، وتلف جهة المستند، وحظر التنشيط بإعداد أمني.
- لماذا يصير ملفّ Word أو Excel ضخماً على نحو غريب بسبب كائنات مضمَّنة؟
- لأن التضمين طريقة تنسخ البيانات نفسها وتحفظها داخل المستند. مقارنة بمستند يحمل الكائن نفسه ربطاً، يكون المستند ذو التضمين أكبر عموماً. علاوة على ذلك يحفظ المستند عادة، إلى جانب بيانات التحرير نفسها، ذاكرة تخزين مؤقّت للعرض أيضاً (ما إذا وُجدت ذاكرة تخزين مؤقّت يُقرَّر بالتحديد عند الإنشاء). إن أردت تصغير الملفّ فالخيارات: الربط بدل التضمين، واللصق كصورة (مع قبول أن إعادة التحرير غير لازمة)، ومشاركة الملفّ الأصلي على حدة ووضع رابط أو صورة فقط في المستند. لكن الربط يتطلّب إدارة مصدر الرابط، لذا لا يناسب المستندات الموزَّعة.
- نقلت خادم ملفّات فتوقف تحديث كائنات الرابط داخل المستندات. لماذا؟
- ما يحمله كائن الرابط داخل المستند ليس البيانات نفسها بل معلومات اسم مصدر الرابط وموقعه (المُعرِّف) وإعداد التحديث وذاكرة التخزين المؤقّت للعرض عادة. عندما يتغيّر موقع مصدر الرابط بنقل خادم ملفّات أو إعادة تسمية مجلّد أو تغيير مسار مشاركة ويتعذّر تتبّع الموقع بعد التغيير، يفشل حلّ الرابط ولا يبقى في المستند سوى ذاكرة تخزين مؤقّت قديمة للعرض (ولكائن أُنشئ بتحديد عدم حفظ ذاكرة تخزين مؤقّت لا يبقى ذلك العرض أيضاً). للإصلاح يلزم إعادة ربط مسار مصدر الرابط بالموقع الجديد من «تحرير الروابط» في كلّ مستند. وإن كان المسار صحيحاً ولم ينعكس فقد لا يكون رابطاً مكسوراً بل مجرّد ضبط الرابط على تحديث يدوي، لذا أكّد أيضاً إعداد طريقة التحديث. إن كثرت المستندات فاجرد قبل النقل المستندات التي تحتوي روابط، وادمج إن أمكن التحديث الجماعي في الخطّة.
- سمعت أن كائنات OLE خطرة أمنياً. هل يجوز مواصلة استخدامها؟
- بنية OLE «إدخال كائن تطبيق آخر داخل مستند وتشغيله على جهة الفتح» وسيلة نقل مريحة للمهاجم أيضاً، وقد استُخدمت ثغرات تنفيذ شيفرة اعتباطي عبر كائنات OLE مصنوعة في هجمات موجَّهة فعلية. خطر خاصّة حزمة OLE التي يمكنها لفّ أيّ ملفّ، وتوصي إرشادات رسمية مثل Essential Eight للحكومة الأسترالية بحظر تنشيط حزمة OLE في Word وExcel وPowerPoint بإعداد سجلّ. لا حاجة لحظر التضمين والربط العاديين في مستندات داخلية جملة واحدة، لكن التشغيل الواقعي: لا تفتح كائنات مستندات مجهولة المصدر، واحظر تنشيط حزمة OLE تنظيمياً.
الملف الشخصي للمؤلف
صفحة الملف الشخصي لمؤلف المقالة.
غو كومورا
مؤسّس شركة كومورا سوفت ذ.م.م.
يركّز على تطوير برامج ويندوز، والاستشارات التقنية، والتحقيق في الأخطاء، ويتميّز في المشاريع التي تبقى فيها الأصول القديمة ناشطة، وفي تشخيص الأعطال التي يصعب تحديد سببها.