كائنات أوله. فهم واستخدام OLE

22.03.2019

مقدمة

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

يرتبط تطور المعلوماتية في المجتمع ارتباطًا وثيقًا بتطور تكنولوجيا الكمبيوتر.

عند تشغيل جهاز الكمبيوتر، يبدأ نظام التشغيل (OS) في العمل تلقائيًا - وهو أمر معقد برمجة، مما يوفر عدة أنواع من الواجهات، من بينها دور مهم ينتمي إلى الواجهة بينهما أنواع مختلفة برمجة.

لربط المستندات تطبيقات مختلفةالتكنولوجيا المستخدمة أولي (ربط الكائنات وتضمينها) وتعني “ربط الكائنات وتضمينها”.

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

على سبيل المثال، عند إعداد نص في معالج النصوص، غالبًا ما تكون هناك حاجة لوضع الرسوم التوضيحية. لهذا الغرض ملف رسومييمكن استخدام الرسم ككائن للربط أو التضمين في مستند نصي.

مفهوم OLE

OLE (ربط الكائنات وتضمينها) هي تقنية لربط الكائنات وتضمينها في مستندات وكائنات أخرى طورتها Microsoft.

يسمح لك OLE بنقل جزء من العمل من برنامج تحرير إلى آخر وإرجاع النتائج مرة أخرى. على سبيل المثال، تم تثبيته على كمبيوتر شخصييمكن لنظام النشر إرسال بعض النصوص للمعالجة إلى محرر النصأو بعض الصور في محرر الصور باستخدام تقنية OLE.

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

يتم استخدام OLE في معالجة المستندات المركبة ويمكن استخدامه لنقل البيانات بين أنظمة مختلفة غير مرتبطة عبر واجهة السحب والإفلات، وكذلك عند إجراء العمليات باستخدام الحافظة. تُستخدم فكرة التضمين على نطاق واسع عند العمل مع محتوى الوسائط المتعددة على صفحات الويب (على سبيل المثال، Web TV)، حيث يتم استخدام نقل الصور والصوت والفيديو والرسوم المتحركة صفحات HTML(لغة توصيف النص التشعبي) أو في ملفات أخرى تستخدم أيضًا علامات النص (على سبيل المثال، XML وSGML).

ومع ذلك، تستخدم تقنية OLE بنية "العميل الكثيف"، أي جهاز كمبيوتر متصل بالشبكة مزود بموارد حوسبة زائدة عن الحاجة. وهذا يعني أن نوع الملف أو البرنامج الذي تتم تجربته يجب أن يكون موجودًا على جهاز العميل. على سبيل المثال، إذا كان OLE يعمل على الجداول مايكروسوفت اكسل، الذي - التي برنامج اكسليجب أن يتم تثبيته على جهاز المستخدم.

تم إصدار OLE 1.0 في عام 1990، استنادًا إلى تقنية DDE (تبادل البيانات الديناميكية) المستخدمة في أكثر من الإصدارات السابقة نظام التشغيل مايكروسوفت ويندوز. بينما كان DDE محدودًا جدًا في عدد وطرق نقل البيانات بين برنامجين قيد التشغيل، كان لدى OLE القدرة على التعامل مع الاتصالات النشطة بين مستندين، أو حتى تضمين مستند من نوع واحد في مستند من نوع آخر.

تتفاعل خوادم وعملاء OLE مع مكتبات النظام باستخدام الجداول وظائف افتراضية(الهندسة. جداول الوظائف الافتراضية، VTBL). تحتوي هذه الجداول على مؤشرات للوظائف التي مكتبة النظاميمكن استخدامها للتفاعل مع الخادم أو العميل. تم تصميم OLESVR.DLL (على الخادم) وOLECLI.DLL (على العميل) في الأصل للتواصل مع بعضهما البعض باستخدام رسالة WM_DDE_EXECUTE التي يوفرها نظام التشغيل.

تطور OLE 1.1 لاحقًا إلى بنية COM (نموذج كائن المكون) للعمل مع مكونات البرنامج. تمت إعادة تصميم بنية COM لاحقًا لتصبح DCOM.

متى كائن أولهيتم وضعها في الحافظة، ويتم حفظها في النسخة الأصلية صيغ ويندوز(مثل الصورة النقطية أو ملف التعريف)، ويتم حفظها أيضًا بتنسيقها الخاص. يسمح التنسيق الأصلي لبرنامج يدعم OLE بتضمين جزء من مستند آخر منسوخ إلى الحافظة وتخزينه في مستند المستخدم.

كانت الخطوة التطورية التالية هي OLE 2.0، والتي احتفظت بنفس الأهداف والغايات مثل إصدار سابق. لكن OLE 2.0 أصبح إضافة إلى بنية COM بدلاً من استخدام VTBL. تتضمن الميزات الجديدة أتمتة تقنية السحب والإفلات والتنشيط الموضعي والتخزين المنظم.

في عام 1996 سنة مايكروسوفتتمت إعادة تسمية تقنية OLE 2.0 إلى ActiveX. تم تقديم العناصر عناصر تحكم ActiveXومستندات ActiveX وتقنية البرمجة النصية النشطة. يتم استخدام هذا الإصدار من OLE بشكل أساسي بواسطة مصممي الويب لإدراج بيانات الوسائط المتعددة في الصفحات.

للتلخيص، OLE عبارة عن مجموعة من الأدوات التي تتيح لك إعداد المستندات التي تتضمن بيانات تم إعدادها في تطبيقات مختلفة بسهولة. قبل أن تتمكن من دمج البيانات من تطبيقات مختلفة، يجب أن تدعم هذه التطبيقات تقنية OLE. معيار تطبيقات ويندوز- فرشاة الرسم والكتابة ومسجل الصوت وملف البطاقة وأداة تجميع الكائنات تدعم OLE. يستثني التطبيقات القياسيةيتضمن Windows والعديد من التطبيقات الأخرى التي طورتها Microsoft وشركات مستقلة أخرى دعمًا لتقنية OLE. مايكروسوفت وورد للنوافذ 2.0 و6.0، وMicrosoft Excel 4.0 و5.0، وZSoft PhotoFinish 2.0، وDesigner، وFoxPro لنظام التشغيل Windows، وAccess والعديد من الحزم الأخرى تتضمن دعمًا لتقنية OLE.

تقنية أولي

أولي- تكنولوجيا (ربط الكائنات وتضمينها– ربط الكائنات وتضمينها) يسمح لك بإنشاء مستندات مركبة معقدة تحتوي على أنواع مختلفة من الكائنات التي تم إنشاؤها بواسطة تطبيقات مختلفة. لذلك، يمكنك إدراج جدول Excel، أو رسم تخطيطي يشرح النص، أو صيغة رياضية في مستند نصي في محرر Word، وسيظل مستندًا واحدًا للمستخدم. عادةً ما يُطلق على التطبيق المسؤول عن المستند المركب اسم الحاوية. لديها بنية معقدة، حيث يمكنها العمل مع الكائنات "الغريبة". التطبيق الذي أنشأ الكائن يسمى الخادم.

يمكن أن تدعم الحاويات والخوادم وضعين للتفاعل:

    تضمين (تنفيذ) الكائنات. هذا يعني الوضعأنه سيتم تخزين بيانات الكائن مع المستند الرئيسي (على سبيل المثال، Embedded جداول البيانات إكسلسيتم حفظه بتنسيق .doc - ملف محرر Word).

    ربط الكائنات. يقوم المستند الرئيسي بتخزين مرجع إلى كائن توجد بياناته في مستند آخر فقط.

عند التضمين، يزيد حجم المستندات المخزنة، ومع ذلك، يكون نقلها أسهل، بينما عند الارتباط، يجب أن تتذكر أن تغيير موقع الملفات يمكن أن يؤدي إلى روابط خاطئة.

لتحرير البيانات ذات الصلة، يتم فتح نافذة منفصلة في التطبيق الذي تم إنشاء هذه البيانات فيه، أي. الخادم. عند تنفيذ الكائنات، يمكنك أيضًا تشغيل الخادم في نافذة منفصلة، ​​ولكن يمكنك أيضًا تحرير البيانات "في مكانها"، أي. في نافذة الحاوية، إذا كان ذلك يسمح بذلك. في هذه الحالة، يجب أن تحتوي الحاوية على قائمة، وسيكملها الخادم الذي تم تمهيده "in Place" بأوامره الخاصة.

مكون حاوية OLE

يوجد في صفحة النظام الخاصة بلوحة المكونات في Borland Builder C++ مكون خاص مصمم لتضمين الكائنات وربطها من التطبيقات الأخرى - OLEContainer.

الخصائص الأساسية

ملكية ولايةيسمح لك بتحديد حالة الكائن وخادمه. معانيها:

    osEmpty — الحاوية لا تحتوي على كائن؛

    osLoaded – كائن في الحاوية، الخادم لا يعمل؛

    osRunning - الخادم قيد التشغيل؛

    يتم فتح الكائن osOpen – OLE – في نافذة خادم منفصلة؛

    osInPlaceActive – يتم تنشيط الكائن "في مكانه"، لكن القائمة لم تتغير بعد. هذه هي الحالة المتوسطة للكائن من قبل محملة بالكاملالخادم.

    يتم تنشيط كائن osUIActive "في مكانه"، ويتم تعديل القائمة.

الكود التالي يسمح لك بتعريف اسم الكائن، تم تحميلها في الحاوية (خاصية AnsiString OleClassName)، طريقة العمل مع كائن ( مرتبط= صحيح - الربط، وإلا - التضمين)، واحصل أيضًا على اسم المستند المرتبط:

إذا (OleContainer1 -> الحالة!= osEmpty)

Label2 -> Caption = OleContainer1 -> OleClassName;

// حالة الحاوية – عدد صحيح يبدأ من 0 (osEmpty)

Label6 -> التسمية التوضيحية = OleContainer1 -> الحالة؛

إذا (OleContainer1 -> مرتبط)

Label4 -> Caption = OleContainer1 -> SourceDoc؛

خاصية منطقية السماح في مكانيحدد القدرة على تحرير كائن مضمن "في مكانه". إذا كانAllowInPlace = true وIconic = false (تحدد الخاصية Iconic ما إذا كان يجب تمثيل الكائن كأيقونة)، فيُسمح بـ "InPlace" - التحرير. عندما يكونAllowInPlace = false، سيتم فتح الخادم في نافذة منفصلة.

ملكية التنشيط التلقائييحتوي على ثلاث قيم محتملة: aaManual، وaGetFocus، وaaDoubleClick ويحدد كيفية تنشيط الكائن الذي تم تحميله في الحاوية.

التنشيط التلقائي الافتراضي = aaDoubleClickأي أن الكائن يصبح نشطًا عند النقر عليه نقرًا مزدوجًا. معنى aaGetFocusيحدد التنشيط عند تلقي تركيز الإدخال. عند التنشيط التلقائي = aaManualالمبرمج هو المسؤول عن تفعيل الكائن. في هذه الحالة، يمكنك استخدام أسلوب DoVerb الخاص بمكون الحاوية، وهو الأسلوب المسؤول عن تمرير الأوامر من الحاوية إلى الخادم. على سبيل المثال، يمكنك استخدام عامل التشغيل التالي:

OleContainer1->DoVerb(ovShow); // إظهار الكائن

بالإضافة إلى إرسال الأوامر إلى الخادم، توفر أساليب الحاوية إنشاء الكائنات وتحميلها وتدميرها. دعنا ننتقل إلى النظر فيها.

إنشاء وحفظ كائن جديد (التضمين)

يمكن إنشاء كائن جديد باستخدام مربع حوار خاص إدراجهدف(إدراج كائن) أو استدعاء الأسلوب إنشاء كائن. في الحالة الأولى، يتم تحديد فئة الكائن من قبل المستخدم من قائمة النظام للكائنات المحتملة، وفي الحالة الثانية، يتم إنشاء كائن معين برمجيًا.

لاستخدام مربع الحوار، يمكنك استخدام الكود التالي، الموجود، على سبيل المثال، في أمر القائمة "الجديد":

AnsiString File_Name; // تم الإعلان عن المتغير عالميًا أو في فئة النموذج

إذا (OleContainer1->InsertObjectDialog())

( اسم الملف = ""؛

OleContainer1->DoVerb(ovShow);

في مربع الحوار الذي يظهر، تحتاج إلى تعيين قيمة زر RadioButton على "إنشاء جديد"، وتحديد نوع الكائن المطلوب من القائمة والنقر فوق "موافق".

يمكن إنشاء كائن برمجيًا على هذا النحو (يمكن إدراج عوامل التشغيل، على سبيل المثال، في عناصر القائمة المقابلة):

    جداول البيانات إكسل

OleContainer1->CreateObject("Excel.sheet"،false);

    وثيقة كلمة

OleContainer1->CreateObject("Word.Document",false);

إذا كنت بحاجة إلى إنشاء كائن اسم نوعه غير معروف، فأنت بحاجة إما إلى الرجوع إلى الوثائق المقابلة للخادم، أو كتابة برنامج اختبار يقوم بتحميل الكائن باستخدام الطريقة OleContainer->InsertObjectDialog()واستخدم الخاصية OleContainer -> OleClassName لتحديد اسمه.

عند إنشاء كائن جديد، يتم استخدام الحقن (نظرًا لأن الملف مطلوب للربط). في هذه الحالة، يكون برنامج الحاوية مسؤولاً عن تخزين بيانات الكائن. يمكنك حفظ البيانات في ملف باستخدام هذه الطريقة احفظ الملف (<имя файла>)، على سبيل المثال، في عنصر القائمة "ملف - حفظ..." يمكنك استخدام الكود التالي:

باطلة __fastcall TForm1::FSaveClick(TObject *Sender)

(إذا (اسم_الملف===")

إذا (SaveDialog1->Execute())

File_Name = SaveDialog1->FileName;

OleContainer1->SaveToFile(ChangeFileExt(File_Name,"".ole"));

في هذا المثال، يشير ملحق الملف .ole إلى أنه سيتم حفظ الكائن بتنسيق خاص مختلف عن تنسيق الخادم. لن يتمكن تطبيق الخادم المنفصل عن الحاوية من قراءة هذه البيانات.

وظيفة تغيير الملفتم استخدامه في المثال لاستبدال امتداد الملف. عند تنفيذ أوامر حفظ البيانات واستردادها من ملف، قد تحتاج إلى وظائف أخرى لمعالجة أسماء الملفات:

    تغيير الملف(const AnsiString FileName، const AnsiString Extension) - تغيير اسم الملف FileName بالقوة، واستبدال الامتداد بالملحق؛

    وظيفة أنسيسترينغ ExtractFileExt(AnsiString FileName) يُرجع امتداد الملف وبالتالي يسمح لك بالتحقق من نوعه؛

    AnsiString ExtractFileName(AnsiString FileName) يُرجع اسم الملف المستخرج من السلسلة FileName، أي. بعد الأخير شرطة مائلة عكسيةأو النقطتين؛

    AnsiString ExtractFilePath(AnsiString FileName) يسترد مسار الملف، بما في ذلك الشرطة المائلة الأخيرة أو النقطتين؛

    AnsiString ExtractFileDrive(AnsiString FileName) يستخرج ملف القرص بنقطتين (على سبيل المثال، "D:").

طريقة الحاوية تحميل من ملف(<имя файла>) يسمح لك بتحميل كائن متذكر في حاوية:

باطلة __fastcall TForm1::FOpenClick(TObject *Sender)

إذا (OpenDialog1->تنفيذ ())

إذا (ExtractFileExt(OpenDialog1->FileName)!= ".ole")

File_Name = OpenDialog1->اسم الملف؛

OleContainer1->LoadFromFile(File_Name);

OleContainer1->DoVerb(ovShow);

إنشاء كائن من ملف (التضمين)

لإنشاء كائن من ملف موجود، يمكنك استخدام نفس النافذة إدراجهدفكما في حالة إنشاء كائن جديد. في حالة التضمين، يقوم المستخدم بتعيين قيمة زر RadioButton على "إنشاء من ملف"، وللبحث عن ملف ينقر على زر "تصفح...".

يتم توفير طريقة برمجية لإنشاء كائن من ملف بواسطة الطريقة: OleContainer->CreateObjectFromFile(AnsiString<имя файла>، boolIconic).

تحدد معلمات الطريقة الاسم مصدر الملفووضع عرض الكائن (Iconic=true – كائن على شكل أيقونة). يمكن إدراج هذا الرمز في عنصر القائمة المقابل:

باطلة __fastcall TForm1::FFileClick(TObject *Sender)

إذا (OpenDialog1->تنفيذ ())

OleContainer1->CreateObjectFromFile(OpenDialog1->FileName,false);

OleContainer1->Repaint();

طريقة OleContainer->إعادة الطلاء ()يؤدي إلى إعادة رسم نافذة الحاوية، وبالتالي ظهور بيانات الكائن على الشاشة.

إنشاء كائن مرتبط

كما هو الحال مع التضمين، يمكن للمستخدم أو المبرمج إنشاء كائن ذي صلة.

للمستخدم في النافذة إدراج كائنيجب عليك اتباع خطوات اختيار الملف المذكورة أعلاه بالإضافة إلى تحديد مربع الاختيار "الاتصال".

يجب على المبرمج استخدام الطريقة: OleContainer->CreateLinkToFile(AnsiString<имя файла>، بول مبدع).

نظرًا لأنه لا يمكن تحرير ربط كائن إلا في نافذة منفصلة، ​​فيمكن للمستخدم الوصول إلى قائمة الخادم لحفظ الكائن.

العمل مع الخادم

نظرًا لأن البرنامج الذي أنشأ الكائن (الخادم) هو الوحيد الذي يمكنه العمل مع بيانات الكائن، فقد تحتاج الحاوية إلى معرفة حول الإجراءات المحتملة على الكائن. طريقة فعل(int Verb) يتطلب تنفيذ أحد الأوامر، وتحتوي القائمة الكاملة للإجراءات المحتملة على الخاصية ObjectVerbsمكون الحاوية. لا يمكنك الحصول على هذه القائمة إلا بعد تحميل الكائن في الحاوية، وبطبيعة الحال، يكون لكل خادم (وبالتالي الكائن) قائمة أوامر خاصة به.

يعد ثابت ovShow مثالاً لأمر OLE المحجوز. يؤدي استخدام طريقة DoVerb مع المعلمة movShow، والتي تمت مناقشتها بالفعل في أحد الأقسام السابقة، إلى الفتح الفوري للخادم.

يعرض التعليمة البرمجية التالية قائمة بالأوامر المحتملة لكائن ما في مكون ListBox (الأوامر مرقمة من الصفر) ويطلب تنفيذ الأمر الثاني في القائمة:

ListBox1->Items = OleContainer1->ObjectVerbs;

OleContainer1->DoVerb(1);

بالإضافة إلى ذلك، يمكن للحاوية أن تطلب من الخادم حفظ بيانات الكائن كمستند بتنسيق الخادم. ولهذا الغرض يتم استخدام الطريقة حفظ باسم مستند(<имя файла>). يمكن معالجة هذا المستند لاحقًا بواسطة خادم التطبيق دون مشاركة الحاوية. ومن المثير للاهتمام أن هذه الطريقة يمكن استخدامها لكل من الكائنات المرتبطة والمضمنة.

عند الانتهاء من العمل مع الكائن، يمكن للبرنامج تحرير OleContainer عن طريق استدعاء الأسلوب OleContainer->DestroyObject() - تدمير الكائن المحمل. يمكن استدعاء هذه الطريقة قبل تحميل كائن جديد أو في أمر قائمة File-Exit.

1. قم بإنشاء تطبيق جديد. على النموذج الرئيسيتوجد المكونات التالية:

  • عناصر تسمية متعددة

ومكونان غير مرئيين:

يظهر في الشكل عرض تقريبي لنافذة التطبيق الرئيسية. يتم تحميل صورة (ملف بملحق .bmp) إلى OleContainer. حالة الخادم: osRunning.

2. قم بإضافة مكون إلى النموذج الذي سيعرض معلومات حول الكائن: "غير محمل" / "التضمين" / "الربط".

3. يجب أن تحتوي القائمة على الأوامر التالية:

    "الكائن" (InsertDialog، كائن جديد Excel، كائن الرسام الجديد، مضمن من ملف، مضمن من "name عروض PowerPoint التقديمية"، مرتبط من ملف، مرتبط من "اسم مستند Word"، أمر تشغيل)؛

    "الخصائص" (خصائص الكائن، أوامر الخادم)؛

    "مساعدة" (حول البرنامج).

تأكد من أن عناصر القائمة متاحة فقط في الوقت الذي يمكن فيه تنفيذ الإجراءات المقابلة. على سبيل المثال، العنصر "كائن"| لا يمكن الوصول إلى "أمر التشغيل" إلا إذا تم تحميل الكائن في OleContainer وتم وضع ListBox الأوامر المتاحةالخادم.

4. قم بإنشاء معالجات الأحداث المناسبة لجميع أوامر القائمة.

    "ملف" | "تحميل الكائن" - يتم تحميل الكائن المحفوظ من ملف ole.

    "ملف" | "قطع الاتصال" - قطع الاتصال بالكائن؛

    "ملف" | "خروج" - الخروج الصحيح من البرنامج (إذا كان هناك اتصال بالكائن، قم بكسره)؛

    "الكائن" | InsertDialog - يتم تحديد الكائن وطريقة تحميله في الحاوية في مربع الحوار بواسطة المستخدم؛

    "الكائن" | " كائن اكسل» – يتم إنشاء كائن جديد؛

    "الكائن" | "كائن الطلاء" - يتم إنشاء كائن جديد؛

    "الكائن" | "مضمن من ملف" - يتم تحديد اسم الملف من قبل المستخدم في مربع الحوار OpenDialog؛

    "الكائن" | "مضمن من "اسم عرض PowerPoint التقديمي" - يتم إدراج عرض شرائح تم إنشاؤه مسبقًا في الحاوية؛

    "الكائن" | "مرتبط من ملف" - يتم تحديد اسم الملف من قبل المستخدم في مربع الحوار OpenDialog؛

    "الكائن" | "مرتبط من "اسم مستند Word" - يتم إدراج مستند تم إنشاؤه مسبقًا في الحاوية؛

    "الكائن" | "تنفيذ الأمر" - يتم إرسال الأمر الذي حدده المستخدم في ListBox$ إلى الخادم للتنفيذ

    "خصائص" | "خصائص الكائن" - تطلب الحاوية من الخادم اسم الكائن وحالة الخادم واسم المستند المرتبط، بناءً على المعلومات الواردة، يتم استخلاص الاستنتاج: "الكائن لم يتم تحميله / تضمينه / مرتبط." يتم عرض المعلومات المستلمة في مكونات التسمية في نافذة التطبيق الرئيسية.

    "خصائص" | "أوامر الخادم" - يتم عرض قائمة أوامر الخادم في مكون ListBox؛

    "مساعدة" | "حول البرنامج..." - نافذة تحتوي على معلومات حول التطبيق ومؤلفه.

5. إجراء اختبار كامل للتطبيق على مختلف الكائنات والخوادم.

يتم الاتصال وتضمين الكائنات التي تم إنشاؤها في تطبيقات مختلفة في Windows باستخدام تكنولوجيا خاصةوالذي يسمى OLE (ربط الكائنات وتضمينها - توصيل الكائنات وتنفيذها).
تقنية أوليهي آلية عالمية لإنشاء ومعالجة المستندات المركبة التي تحتوي في نفس الوقت على كائنات من أصول مختلفة وطبيعة مختلفة، على سبيل المثال، النصوص والجداول والصور الفوتوغرافية والصوت وما إلى ذلك.
تستخدم تقنية OLE المصطلحات والتعريفات التالية:

كائن OLE (OLE - كائن) هو عنصر عشوائي تم إنشاؤه بواسطة تطبيق Windows ويمكن وضعه (مضمن و/أو مرتبط) في مستند لتطبيق Windows آخر. يمكن أن يكون الكائن الملف بأكملهأو مجرد جزء من الملف.

خادم OLE (OLE – الخادم، تطبيق المصدر، التطبيق المصدر) - التطبيق الذي يتم من خلاله إنشاء كائن OLE، أي. برنامج يخدم تطبيق آخر.

عميل OLE (عميل OLE أو تطبيق المصدر أو تطبيق الحاوية) هو تطبيق يقبل كائن OLE، أي. برنامج يستخدم خدمات خادم OLE.

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

عند حفظ مستند معقد، يتم حفظ النص وجميع الكائنات المضمنة فيه. يزداد حجم المستند النصي الأصلي بمقدار حجم الكائنات المضمنة.

طريقة أخرى لوضع الصورة في وثيقة نصية- بالربط. في نفس مربع الحوار "إدراج كائن"، يوجد مربع اختيار يسمى "ارتباط". إذا قمت بتحديد هذا المربع قبل الإدراج، فسيتم إجراء الارتباط، أي. نوع آخر من الإدراج. في هذه الحالة، لا يتم إدراج الكائن نفسه في المستند، بل يتم إدراج مؤشر إلى موقع الكائن فقط. عند عرض مستند، عندما يصل المستخدم إلى الفهرس، سينتقل معالج النصوص إلى العنوان الموجود في الفهرس ويعرض الرسم في نص المستند. في حالة ربط الكائنات، لن يزيد حجم الملف الناتج عمليا، لأنه يشغل المؤشر مساحة صغيرة جدًا. ومع ذلك، عند استخدام طريقة ربط الكائنات، من الضروري التحكم في سلامة الاتصالات بين الكائنات، والتي يمكن أن تنقطع عند تحريك الكائنات.



تطبيقات مختلفةيدعم Windows تقنية OLE بدرجات متفاوتة. بعض البرامج، مثل برنامج Notepad، لا تدعمه على الإطلاق. يمكن لعدد من البرامج - WordArt وMicrosoft Equation وما إلى ذلك - أن تعمل فقط كخادم OLE. نظم المعلوماتعلى العكس من ذلك، غالبا ما يؤدي دور المتلقي فقط، أي. عميل OLE.

معظم تطبيقات قويةيمكن لأنظمة Windows، مثل Word وExcel وما إلى ذلك، تنفيذ وظائف كل من خادم OLE وعميل OLE.
تسمح لك تقنية OLE بما يلي:

تضمين كائنات أو أجزاء مستند تم إنشاؤها في تطبيقات أخرى في مستند، بالإضافة إلى تحرير هذه الكائنات باستخدام التطبيق الذي أنشأها؛

إنشاء اتصال بين كائن ومستند في تطبيق آخر. عند إنشاء اتصال، يستمر هذا الكائن في "عيش" حياته الخاصة وخدمة المستندات الأخرى.

خدمات

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

الولوج إلى خدماتيتم تنفيذها من خلال الأمر Start/Programs/Accessories/Services.

البرنامج الأكثر استخدامًا هو Scandisk - وهو برنامج لمسح الأقراص. يسمح لك بالتخلص من الأقراص الصلبة والمرنة أخطاء منطقيةفي بنية الملف (الفحص القياسي) و الأخطاء الجسديةالمرتبطة بعيوب سطح القرص ( فحص كامل). فحص قياسييتم تنفيذها بعد كل إيقاف تشغيل غير صحيح للكمبيوتر. ممتلىء فحص صعبيتم إجراء فحص القرص مرتين في السنة أو في حالة الشك حول موثوقية التشغيل. ل قرص مرنيوصى بإجراء فحص كامل في حالة فشل قراءة الملف أو كتابته.

إلغاء تجزئة القرص هو برنامج مصمم لتحسين أداء القرص عن طريق إزالة التجزئة هيكل الملف. عند تحرير الملفات لفترة طويلة أو عندما يكون القرص ممتلئًا، يبدأ النظام في ملء ليس كل المجموعات المتتالية (الكتلة - أصغر وحدةتخزين البيانات على القرص)، ولكن المجموعات المجانية فقط. لذلك، يتم "تلطيخ" الملف عبر القرص ويزداد وقت الوصول إليه. عند إلغاء التجزئة، تتم إعادة كتابة الملفات بحيث يتم تضمين كل منها في مجموعة من المجموعات المتتالية.

تتم تهيئة القرص المرن بنقرة واحدة الزر الايمنالماوس فوق أيقونة القرص واختيار أمر التنسيق... على الرغم من بيع الأقراص المرنة المنسقة بالفعل، إلا أن إعادة التنسيق تقضي على أوجه القصور في تخطيط القرص المرن التي لا يمكن لبرنامج Scandisk التخلص منها. ومع ذلك، يتم فقدان البيانات المسجلة. يمكن أن يكون التنسيق سريعًا أو كاملاً. في الحالة الأولى، يتم حذف الملفات الموجودة فقط؛ وفي الحالة الثانية، يتم أيضًا فحص سطح القرص وإزالة العيوب.

تتضمن حزمة Word برامج مثل Microsoft Graph وMicrosoft WordArt وMicrosoft Equation. هذه البرامج قادرة على إنشاء كائنات يمكن تضمينها فيها وثيقة كلمة. تبادل البيانات بين هذه البرامج والنص معالج الكلماتيتم تنفيذها باستخدام تقنية OLE (ربط الكائنات وتضمينها - توصيل الكائنات وتنفيذها).

تقنية OLE هي وسيلة لتبادل البيانات بين برنامجين. يتم تحديد البيانات التي يتم إدراجها في برنامج باستخدام تقنية OLE بواسطة المفهوم المجرد OBJECT. سنشرح فكرة هذه التقنية باستخدام مثال معالجة مستند يحتوي على العديد من الصور المدرجة التي تم إنشاؤها برامج مختلفة. في هذه الحالة، معالجة النص نفسه لا تسبب مشاكل ويمكن تنفيذها باستخدام الأموال الداخليةكلمة. الرسومات أمر آخر - لتغييرها دون استخدام OLE، عليك اتباع العديد من الخطوات:

· أولاً تحتاج إلى إزالة الرسم القديم من المستند؛

· ثم قم بتشغيل برنامج تحرير الصور.

· تحميل ملف يحتوي على الصورة المطلوبة.

في كميات كبيرةإذا كانت لديك صور، فقد يكون تحريرها أمرًا مملاً للغاية. بمساعدة تقنية OLE، تظهر إمكانيات جديدة لتحرير الرسومات. من أجل تشغيل البرنامج لتحرير صورة معينة، تحتاج فقط إلى النقر نقرا مزدوجا فوقه بالماوس. بعد ذلك، هناك سيناريوهان محتملان لتقنية OLE:

1. يتم تشغيل برنامج التحرير كـ نافذة منفصلة، ويتم تحميل الصورة المحددة فيها تلقائيًا لتحريرها. بعد الانتهاء من التحرير والخروج من البرنامج، يتم نقل جميع التغييرات تلقائيًا إلى المستند.

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

باستخدام هذا المبدأ، يمكنك العمل ليس فقط مع الرسومات، ولكن أيضًا مع كائنات أخرى، على سبيل المثال، مع التعليقات الصوتية المسجلة باستخدام كارت الصوتوإدراجها في المستند، مقاطع فيديو الكمبيوتر التي يمكن أيضًا تضمينها في المستند. تتناول هذه الورقة استخدام تقنية OLE لإدراج الصيغ والنص المتعرج.

هناك العديد من المفاهيم الجديدة المرتبطة بتقنية OLE.

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

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

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

الخادم. هذا برنامج يقوم بإنشاء كائن للتواصل والتنفيذ. من حزمة الكلماتهذه هي Microsoft Equation وMicrosoft WordArt.

عميل. هذا هو البرنامج الذي يقبل الكائنات في وثائقه. لأنه يمكن لـ Word إدراجها في المستندات كائنات مختلفةفهذا يعني أن Word هو عميل OLE.

خلق الصيغ الرياضية
مع باستخدام مايكروسوفتالمعادلة (محرر الصيغة)

لإدراج صيغة في النص، قم بذلك الإجراءات التالية:

ضع المؤشر في منطقة المستند حيث تريد وضع الصيغة.

من القائمة إدراج، حدد كائن. في نافذة إدراج كائن التي تفتح، حدد علامة التبويب إنشاء (الشكل 5.1).

حدد Microsoft Equation 3.0 من قائمة "نوع الكائن".

حدد خانة الاختيار كرمز من خلال النقر عليها.

قم بتأكيد اختيارك بالنقر فوق "موافق".

أرز. 5.1 مربع حوار إدراج كائن، وإنشاء علامة تبويب

ونتيجة لهذه الإجراءات، يجب أن تفتح نافذة محرر الصيغة (الشكل 5.2).

تقنية OLE (ربط الكائنات وتضمينها) هي تقنية لإدارة وتبادل المعلومات بين الكائنات واجهة البرنامجتطبيقات أخرى. ربط الكائنات وتضمينها.
يسمح لك OLE بنقل جزء من العمل من برنامج تحرير إلى آخر وإرجاع النتائج مرة أخرى. على سبيل المثال، يمكن لنظام النشر المثبت على جهاز كمبيوتر شخصي إرسال بعض النصوص للمعالجة إلى معالج النصوص، أو بعض الصور إلى محرر الصور باستخدام تقنية OLE.
الميزة الرئيسية لاستخدام OLE (بخلاف تقليل حجم الملف) هي أنه يسمح لك بإنشاء ملف رئيسي، وهو عبارة عن خزانة ملفات من الوظائف التي يستدعيها البرنامج. يمكن أن يعمل هذا الملف على بيانات من البرنامج المصدر، والتي، بعد معالجتها، يتم إرجاعها إلى المستند المصدر.
يتم استخدام OLE في معالجة المستندات المركبة ويمكن استخدامه لنقل البيانات بين أنظمة مختلفة غير مرتبطة عبر واجهة السحب والإفلات، وكذلك عند إجراء العمليات باستخدام الحافظة. يتم استخدام فكرة التضمين على نطاق واسع عند العمل مع محتوى الوسائط المتعددة على صفحات الويب (على سبيل المثال، Web TV)، والذي يستخدم الصورة والصوت والفيديو والرسوم المتحركة في صفحات HTML (لغة ترميز النص التشعبي) أو في ملفات أخرى تستخدم النص أيضًا العلامات (على سبيل المثال، XML وSGML). ومع ذلك، تستخدم تقنية OLE بنية "العميل الكثيف"، أي جهاز كمبيوتر متصل بالشبكة مزود بموارد حوسبة زائدة عن الحاجة. وهذا يعني أن نوع الملف أو البرنامج الذي تتم تجربته يجب أن يكون موجودًا على جهاز العميل. على سبيل المثال، إذا كان يعمل OLE جداول مايكروسوفت Excel، ثم يجب تثبيت Excel على جهاز المستخدم.
تم إصدار OLE 1.0 في عام 1990، استنادًا إلى تقنية DDE (تبادل البيانات الديناميكية) المستخدمة في الإصدارات السابقة من نظام التشغيل. أنظمة مايكروسوفتشبابيك. بينما كان DDE محدودًا جدًا في عدد وطرق نقل البيانات بين برنامجين قيد التشغيل، كان لدى OLE القدرة على التعامل مع الاتصالات النشطة بين مستندين، أو حتى تضمين مستند من نوع واحد في مستند من نوع آخر.
تتفاعل خوادم وعملاء OLE مع مكتبات النظام باستخدام جداول الوظائف الافتراضية (VTBL). تحتوي هذه الجداول على مؤشرات للوظائف التي يمكن لمكتبة النظام استخدامها للتفاعل مع الخادم أو العميل. تم تصميم OLESVR.DLL (على الخادم) وOLECLI.DLL (على العميل) في الأصل للتواصل مع بعضهما البعض باستخدام رسالة WM_DDE_EXECUTE التي تم تطويرها بواسطة نظام التشغيل.
تطور OLE 1.1 لاحقًا إلى بنية COM (نموذج كائن المكون) للعمل مع مكونات البرنامج. تمت إعادة تصميم بنية COM لاحقًا لتصبح DCOM.
عندما يتم وضع كائن OLE في الحافظة، يتم حفظه بتنسيقات Windows الأصلية (مثل الصورة النقطية أو ملف التعريف) ويتم حفظه أيضًا بتنسيقه الخاص. يسمح التنسيق الأصلي لبرنامج يدعم OLE بتضمين جزء من مستند آخر منسوخ إلى الحافظة وتخزينه في مستند المستخدم.
وكانت الخطوة التطورية التالية هي OLE 2.0، الذي احتفظ بنفس الأهداف والغايات مثل الإصدار السابق. لكن OLE 2.0 أصبح إضافة إلى بنية COM بدلاً من استخدام VTBL. تتضمن الميزات الجديدة أتمتة تقنية السحب والإفلات والتنشيط الموضعي والتخزين المنظم.