ВУЗ:
Составители:
30
фрагментов при просмотре этих файлов, поскольку они имеют поистине впе-
чатляющие размеры (более восьми с половиной мегабайт на моем компьютере)!
Необходимо понять принципы , по которым строится модуль импортиро-
ванной библиотеки, тогда вообще незачем будет обращаться к его исходному
тексту . В данном руководстве мы сделаем лишь первый шаг на пути изучения
этих принципов .
Прежде всего, рассмотрим файл Excel_TLB.cpp, который имеет относи-
тельно небольшой размер . Он полезен, поскольку именно он в виде коммента-
риев содержит сообщения об ошибках импорта идентификаторов библиотеки:
// Errors:
// Hint: Symbol 'Windows' renamed to 'Windoz'
// Hint: Symbol 'Application' renamed to 'ExcelApplication'
// Hint: Symbol 'Chart' renamed to 'ExcelChart'
// Hint: Symbol 'Worksheet' renamed to 'ExcelWorksheet'
// Hint: Symbol 'Workbook' renamed to 'ExcelWorkbook'
...
Далее следуют определения глобальных идентификаторов всех объектов
библиотеки типов (самой библиотеки, интерфейсов и сопряженных классов ) в
виде определений констант:
const GUID LIBID_Excel = {0x00020813, 0x0000, 0x0000,
{ 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} };
const GUID IID_Adjustments = {0x000C0310, 0x0000, 0x0000,
{ 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} };
Просмотр заголовочного файла Excel_TLB.h может занять существенно
более продолжительное время. Мы сосредоточим свое внимание на тех конст-
рукциях , в которые превратились импортированные интерфейсы . Ниже приве-
ден фрагмент , поясняющий некоторые особенности процедуры импорта хоро-
шо знакомого нам дуального интерфейса _Application:
interface _Application : public IDispatch
{ . . .
__property Excel_tlb::WorkbooksPtr Workbooks =
{read = get_Workbooks};
. . .
};
. . .
template <class T /* _Application */ >
class TCOM_ApplicationT : public TComInterface<_Application>,
public TComInterfaceBase<IUnknown>
{
. . .
};
typedef TCOM_ApplicationT<_Application> TCOM_Application;
. . .
30 фрагментов при просмотре этих файлов, поскольку они имеют поистине впе- чатляющие размеры (более восьми с половиной мегабайт на моем компьютере)! Необходимо понять принципы, по которым строится модуль импортиро- ванной библиотеки, тогда вообще незачем будет обращаться к его исходному тексту. В данном руководстве мы сделаем лишь первый шаг на пути изучения этих принципов. Прежде всего, рассмотрим файл Excel_TLB.cpp , который имеет относи- тельно небольшой размер. Он полезен, поскольку именно он в виде коммента- риев содержит сообщения об ошибках импорта идентификаторов библиотеки: // Errors: // Hint: Symbol 'Windows' renamed to 'Windoz' // Hint: Symbol 'Application' renamed to 'ExcelApplication' // Hint: Symbol 'Chart' renamed to 'ExcelChart' // Hint: Symbol 'Worksheet' renamed to 'ExcelWorksheet' // Hint: Symbol 'Workbook' renamed to 'ExcelWorkbook' ... Далее следуют определения глобальных идентификаторов всех объектов библиотеки типов (самой библиотеки, интерфейсов и сопряженных классов) в виде определений констант: const GUID LIBID_Excel = {0x00020813, 0x0000, 0x0000, { 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} }; const GUID IID_Adjustments = {0x000C0310, 0x0000, 0x0000, { 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} }; Просмотр заголовочного файла Excel_TLB.h может занять существенно более продолжительное время. Мы сосредоточим свое внимание на тех конст- рукциях, в которые превратились импортированные интерфейсы. Ниже приве- ден фрагмент, поясняющий некоторые особенности процедуры импорта хоро- шо знакомого нам дуального интерфейса _Application : interface _Application : public IDispatch { . . . __property Excel_tlb::WorkbooksPtr Workbooks = {read = get_Workbooks}; . . . }; . . . templateclass TCOM_ApplicationT : public TComInterface<_Application>, public TComInterfaceBase { . . . }; typedef TCOM_ApplicationT<_Application> TCOM_Application; . . .
Страницы
- « первая
- ‹ предыдущая
- …
- 28
- 29
- 30
- 31
- 32
- …
- следующая ›
- последняя »