Основы COM-технологий. Артемов М.А. и др. - 2 стр.

UptoLike

Составители: 

3
ɋɨɞɟɪɠɚɧɢɟ
ȼɜɟɞɟɧɢɟ............................................................................................................. 5
I. Ɉɫɧɨɜɧɵɟ ɩɨɧɹɬɢɹ ɢ ɨɩɪɟɞɟɥɟɧɢɹ................................................................ 5
1.1. ɑɬɨ ɬɚɤɨɟ COM. Ɉɫɧɨɜɧɵɟ ɫɜɨɣɫɬɜɚ, ɨɬɥɢɱɚɸɳɢɟ COM ɨɬ ɈɈɉ ....... 5
1.2. Ɉɬɧɨɲɟɧɢɟ «Ʉɥɢɟɧɬ-ɫɟɪɜɟɪ» .................................................................... 7
1.3. ɍɧɢɤɚɥɶɧɨɫɬɶ ɤɨɦɩɨɧɟɧɬ. GUID, CLSID................................................. 7
1.4. Ⱦɨɫɬɭɩ ɤ ɤɨɦɩɨɧɟɧɬɚɦ. ɂɧɬɟɪɮɟɣɫɵ ....................................................... 9
1.5. ɂɟɪɚɪɯɢɹ ɢɧɬɟɪɮɟɣɫɨɜ. ɂɧɬɟɪɮɟɣɫ IUnknown ....................................... 9
1.6. ɉɨɪɬɚɬɢɜɧɨɫɬɶ ɢ ɤɨɦɦɭɧɢɤɚɛɟɥɶɧɨɫɬɶ COM. Ɋɟɝɢɫɬɪɚɰɢɹ COM-
ɫɟɪɜɟɪɨɜ. ɋɢɫɬɟɦɧɵɣ ɪɟɟɫɬɪ Windows.......................................................... 12
II. Ɋɚɡɪɚɛɨɬɤɚ COM-ɫɟɪɜɟɪɨɜ ɜ Delphi.......................................................... 14
2.1. Ɋɚɡɪɚɛɨɬɤɚ ɢɧɬɟɪɮɟɣɫɚ ............................................................................ 14
2.2. Ɋɟɚɥɢɡɚɰɢɹ ɜɫɬɪɨɟɧɧɨɝɨ COM-ɫɟɪɜɟɪɚ.................................................. 15
2.3. Ɋɚɡɪɚɛɨɬɤɚ ɤɨɦɩɨɧɟɧɬɨɜ.......................................................................... 17
2.4. Ɋɚɡɪɟɲɟɧɢɟ ɧɟɨɞɧɨɡɧɚɱɧɨɫɬɢ ɦɟɬɨɞɨɜ.................................................. 19
2.5. Ⱦɟɥɟɝɢɪɨɜɚɧɢɟ ɢɧɬɟɪɮɟɣɫɚ ..................................................................... 20
2.6. Ƚɟɧɟɪɚɬɨɪ ɤɨɦɩɨɧɟɧɬɨɜ........................................................................... 22
2.7. ɉɪɢɦɟɪ ɪɟɚɥɢɡɚɰɢɢ ɜɫɬɪɨɟɧɧɨɝɨ COM-ɫɟɪɜɟɪɚ ................................... 24
2.8. ȼɧɟɲɧɢɟ COM-ɫɟɪɜɟɪɵ........................................................................... 27
2.9. Ȼɟɡɨɩɚɫɧɵɟ ɦɚɫɫɢɜɵ (SafeArray) ............................................................ 28
2.10. Ɉɛɪɚɛɨɬɤɚ ɦɚɫɫɢɜɨɜ ɞɚɧɧɵɯ................................................................. 29
2.10.1. ɋɨɡɞɚɧɢɟ ɫɟɪɜɟɪɚ................................................................................. 29
2.10.2. ɋɨɡɞɚɧɢɟ ɤɥɢɟɧɬɚ ................................................................................ 31
III. Ȼɢɛɥɢɨɬɟɤɚ ɬɢɩɨɜ ...................................................................................... 33
3.1. ɉɪɨɟɤɬɢɪɨɜɚɧɢɟ ɛɢɛɥɢɨɬɟɤɢ ɬɢɩɨɜ. Ɋɟɞɚɤɬɨɪ Type Library Editor..... 33
3.2. ɉɚɧɟɥɶ ɢɧɫɬɪɭɦɟɧɬɨɜ ɞɢɚɥɨɝɨɜɨɝɨ ɨɤɧɚ
Type Library Editor .............. 34
3.3. ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɛɢɛɥɢɨɬɟɤɢ ɬɢɩɨɜ ɩɪɢ ɪɚɡɪɚɛɨɬɤɟ ɤɨɦɩɨɧɟɧɬɨɜ ....... 35
3.4. ɉɪɢɦɟɪ ɪɚɡɪɚɛɨɬɤɢ ɜɫɬɪɨɟɧɧɨɝɨ COM-ɫɟɪɜɟɪɚ ɫ ɢɫɩɨɥɶɡɨɜɚɧɢɟɦ
ɛɢɛɥɢɨɬɟɤɢ ɬɢɩɨɜ............................................................................................ 36
IV. Ɋɚɡɪɚɛɨɬɤɚ ɩɪɢɥɨɠɟɧɢɣ, ɢɫɩɨɥɶɡɭɸɳɢɯ COM-ɫɟɪɜɟɪɵ ...................... 38
4.1. ɉɨɥɭɱɟɧɢɟ ɫɫɵɥɤɢ ɧɚ ɢɧɬɟɪɮɟɣɫ ɤɨɦɩɨɧɟɧɬɚ. Ɏɭɧɤɰɢɢ CreateComOb-
ject ɢ ProgIdToClassId...................................................................................... 38
4.2. ɗɤɫɩɨɪɬ ɨɩɢɫɚɧɢɹ ɢɧɬɟɪɮɟɣɫɨɜ ɢɡ ɛɢɛɥɢɨɬɟɤɢ ɬɢɩɨɜ COM-ɫɟɪɜɟɪɚ 39
4.3. Ɉɫɨɛɟɧɧɨɫɬɢ ɬɟɯɧɢɤɢ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɤɨɦɩɨɧɟɧɬɨɜ ɜ Delphi............. 40
4.4. ɉɪɢɦɟɪ ɪɟɚɥɢɡɚɰɢɢ COM-ɤɥɢɟɧɬɚ......................................................... 41
V. Ⱥɜɬɨɦɚɬɢɡɚɰɢɹ............................................................................................ 43
5.1. Ɋɚɧɧɟɟ ɢ ɩɨɡɞɧɟɟ ɫɜɹɡɵɜɚɧɢɟ. Ɍɢɩ Variant ............................................ 43
5.2. ɂɧɬɟɪɮɟɣɫɵ ɞɢɫɩɟɬɱɟɪɢɡɚɰɢɢ. ............................................................... 45
5.3. ɉɪɢɦɟɪ ɪɟɚɥɢɡɚɰɢɢ ɜɫɬɪɨɟɧɧɨɝɨ COM-ɫɟɪɜɟɪɚ ɚɜɬɨɦɚɬɢɡɚɰɢɢ........ 47
5.4. ɉɪɢɦɟɪ ɪɟɚɥɢɡɚɰɢɢ ɜɧɟɲɧɟɝɨ COM-ɫɟɪɜɟɪɚ ɚɜɬɨɦɚɬɢɡɚɰɢɢ ............ 48
5.5. ɋɨɛɵɬɢɹ ɜ COM ɢ ɨɛɪɚɬɧɵɟ ɜɵɡɨɜɵ...................................................... 50
VI. Ⱥɜɬɨɦɚɬɢɡɚɰɢɹ ɩɪɢɥɨɠɟɧɢɣ Microsoft Office ........................................ 54
6.1. VBA ɢ ɫɪɟɞɫɬɜɚ ɪɚɡɪɚɛɨɬɤɢ ɤɨɧɬɪɨɥɥɟɪɨɜ ɚɜɬɨɦɚɬɢɡɚɰɢɢ ................. 56
6.2. Ɉɛɴɟɤɬɧɵɟ ɦɨɞɟɥɢ Microsoft Office ....................................................... 57
6.3. Ɉɛɳɢɟ ɩɪɢɧɰɢɩɵ ɫɨɡɞɚɧɢɹ ɤɨɧɬɪɨɥɥɟɪɨɜ ɚɜɬɨɦɚɬɢɡɚɰɢɢ.................. 58
6.4. Ⱥɜɬɨɦɚɬɢɡɚɰɢɹ Microsoft Word............................................................... 58
6.4.1. ɉɪɨɝɪɚɦɦɧɵɟ ɢɞɟɧɬɢɮɢɤɚɬɨɪɵ ɢ ɨɛɴɟɤɬɧɚɹ
ɦɨɞɟɥɶ Microsoft Word.................................................................................... 58
6.4.2. ɋɨɡɞɚɧɢɟ ɢ ɨɬɤɪɵɬɢɟ ɞɨɤɭɦɟɧɬɨɜ Microsoft Word ............................ 60
6.4.3. ɋɨɯɪɚɧɟɧɢɟ, ɩɟɱɚɬɶ ɢ ɡɚɤɪɵɬɢɟ ɞɨɤɭɦɟɧɬɨɜ Microsoft Word .......... 60
6.4.4. ȼɫɬɚɜɤɚ ɬɟɤɫɬɚ ɢ ɨɛɴɟɤɬɨɜ ɜ ɞɨɤɭɦɟɧɬ ɢ ɮɨɪɦɚɬɢɪɨɜɚɧɢɟ ɬɟɤɫɬɚ... 61
6.4.5. ɉɟɪɟɦɟɳɟɧɢɟ ɤɭɪɫɨɪɚ ɩɨ ɬɟɤɫɬɭ ......................................................... 64
6.4.6. ɋɨɡɞɚɧɢɟ ɬɚɛɥɢɰ.................................................................................... 65
6.4.7. Ɉɛɪɚɳɟɧɢɟ ɤ ɫɜɨɣɫɬɜɚɦ ɞɨɤɭɦɟɧɬɚ..................................................... 66
6.5. Ⱥɜɬɨɦɚɬɢɡɚɰɢɹ Microsoft Excel............................................................... 66
6.5.1. ɉɪɨɝɪɚɦɦɧɵɟ ɢɞɟɧɬɢɮɢɤɚɬɨɪɵ ɢ ɨɛɴɟɤɬɧɚɹ
ɦɨɞɟɥɶ Microsoft Excel.................................................................................... 66
6.5.2. Ɂɚɩɭɫɤ Microsoft Excel, ɫɨɡɞɚɧɢɟ ɢ ɨɬɤɪɵɬɢɟ
ɪɚɛɨɱɢɯ ɤɧɢɝ .................................................................................................... 68
6.5.3. ɋɨɯɪɚɧɟɧɢɟ, ɩɟɱɚɬɶ ɢ ɡɚɤɪɵɬɢɟ
ɪɚɛɨɱɢɯ ɤɧɢɝ Microsoft Excel ........................................................................ 69
6.5.4. Ɉɛɪɚɳɟɧɢɟ ɤ ɥɢɫɬɚɦ ɢ ɹɱɟɣɤɚɦ ........................................................... 70
6.5.5. ɋɨɡɞɚɧɢɟ ɞɢɚɝɪɚɦɦ ............................................................................... 71
6.6. ɉɪɢɦɟɪ ɷɤɫɩɨɪɬɚ ɞɚɧɧɵɯ ɜ Word............................................................ 73
Ɂɚɞɚɱɢ «Ʉɥɢɟɧɬ-ɋɟɪɜɟɪ» ................................................................................ 82
ɋɩɢɫɨɤ ɥɢɬɟɪɚɬɭɪɵ ......................................................................................... 84
ɋɫɵɥɤɢ ɜ Internet ............................................................................................. 84
4
                                                 ����������                                                               6.1. VBA � �������� ���������� ������������ ������������� ................. 56
                                                                                                                          6.2. ��������� ������ Microsoft Office ....................................................... 57
��������............................................................................................................. 5   6.3. ����� �������� �������� ������������ ������������� .................. 58
I. �������� ������� � �����������................................................................ 5                       6.4. ������������� Microsoft Word............................................................... 58
1.1. ��� ����� COM. �������� ��������, ���������� COM �� ��� ....... 5                                                    6.4.1. ����������� �������������� � ���������
1.2. ��������� «������-������» .................................................................... 7                     ������ Microsoft Word.................................................................................... 58
1.3. ������������ ���������. GUID, CLSID................................................. 7                               6.4.2. �������� � �������� ���������� Microsoft Word ............................ 60
1.4. ������ � �����������. ���������� ....................................................... 9                           6.4.3. ����������, ������ � �������� ���������� Microsoft Word .......... 60
1.5. �������� �����������. ��������� IUnknown ....................................... 9                                   6.4.4. ������� ������ � �������� � �������� � �������������� ������ ... 61
1.6. ������������� � ������������������ COM. ����������� COM-                                                             6.4.5. ����������� ������� �� ������ ......................................................... 64
��������. ��������� ������ Windows.......................................................... 12                           6.4.6. �������� ������ .................................................................................... 65
II. ���������� COM-�������� � Delphi.......................................................... 14                         6.4.7. ��������� � ��������� ���������..................................................... 66
2.1. ���������� ���������� ............................................................................ 14                6.5. ������������� Microsoft Excel............................................................... 66
2.2. ���������� ����������� COM-�������.................................................. 15                              6.5.1. ����������� �������������� � ���������
2.3. ���������� �����������.......................................................................... 17                  ������ Microsoft Excel.................................................................................... 66
2.4. ���������� ��������������� ������� .................................................. 19                             6.5.2. ������ Microsoft Excel, �������� � ��������
2.5. ������������� ���������� ..................................................................... 20                    ������� ���� .................................................................................................... 68
2.6. ��������� ����������� ........................................................................... 22                 6.5.3. ����������, ������ � ��������
2.7. ������ ���������� ����������� COM-������� ................................... 24                                      ������� ���� Microsoft Excel ........................................................................ 69
2.8. ������� COM-�������........................................................................... 27                    6.5.4. ��������� � ������ � ������� ........................................................... 70
2.9. ���������� ������� (SafeArray) ............................................................ 28                       6.5.5. �������� �������� ............................................................................... 71
2.10. ��������� �������� ������ ................................................................. 29                      6.6. ������ �������� ������ � Word............................................................ 73
2.10.1. �������� �������................................................................................. 29              ������ «������-������» ................................................................................ 82
2.10.2. �������� ������� ................................................................................ 31              ������ ���������� ......................................................................................... 84
III. ���������� ����� ...................................................................................... 33           ������ � Internet ............................................................................................. 84
3.1. �������������� ���������� �����. �������� Type Library Editor..... 33
3.2. ������ ������������ ����������� ���� Type Library Editor .............. 34
3.3. ������������� ���������� ����� ��� ���������� ����������� ....... 35
3.4. ������ ���������� ����������� COM-������� � ��������������
���������� ����� ............................................................................................ 36
IV. ���������� ����������, ������������ COM-������� ...................... 38
4.1. ��������� ������ �� ��������� ����������. ������� CreateComOb-
ject � ProgIdToClassId...................................................................................... 38
4.2. ������� �������� ����������� �� ���������� ����� COM-������� 39
4.3. ����������� ������� ������������� ����������� � Delphi............. 40
4.4. ������ ���������� COM-������� ......................................................... 41
V. �������������............................................................................................ 43
5.1. ������ � ������� ����������. ��� Variant ............................................ 43
5.2. ���������� ���������������. ............................................................... 45
5.3. ������ ���������� ����������� COM-������� �������������........ 47
5.4. ������ ���������� �������� COM-������� ������������� ............ 48
5.5. ������� � COM � �������� ������...................................................... 50
VI. ������������� ���������� Microsoft Office ........................................ 54
                                                          3                                                                                                                        4