Создание и использование DLL. DLL (динамические библиотеки) содержат дополнительные Привязка Dll к программе. Это наиболее простой метод работы с Dll, но он имеет один существенный недостаток.


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
���!740=85 8 8A?;L720=85 DLL
DLL
(
&#x8G;Z&#x:8;&#x5 ;;€48=08G5A:85 181;8B5:8
����) A45@60B 4?;=8B5;L=K5 DC=:F88 8;8 A;6=K5
����181;8B5:8 4;O ?@51@0720=8O 871@065=89.

"0:65 2
DLL
������ 6= E@0=8BL =5 B;L: DC=:F88 8 ?@F54C@K, = B0:65 8 @5AC@AK
������(2A5276=K5 871@065=8O, 8:=:8, AB@:8 8 B.4.).  B0:65 D@K, ?;038=K.

����@0B:5 ?8A0=85 DC=:F89 8 ?@8Q2 @01BK A Dll

&#x 4; &#x A;&#x?0;&#x 4; &#x A;&#x?0;&#x 4; &#x A;&#x?0; 0715@Q 420 A?A10 @01BK A Dll:

��1 A?A1

�@82O7:0 Dll : ?@3@05

����[�[�-B =081;55 ?@AB9 5B4 @01BK A
Dll
��U&#xB ;�U&#xB ;�U&#xB ;�, = = 855B 48= ACI5AB25==K9 =54AB0B:.

���&#x0 ;&#x=5;&#x 7;&#x0?;ʸº&#xO,;&#x ?;&#x@0;&#x0 ;&#x=5;&#x 7;&#x0?;ʸº&#xO,;&#x ?;&#x@0;&#x0 ;&#x=5;&#x 7;&#x0?;ʸº&#xO,;&#x ?;&#x@0;A;8 181;8B5:0 =5 1C45B =0945=0, B ?@3@00 =5 70?CAB8BAO, ?@AB 2K4020O H81:C
��&#x, ;&#xGB;�� B, GB =5 65B =09B8
Dll
���&#x :;�;�. 8A: 254QBAO, 2 :@=52 :0B0;35, 2 B5:CI5, 2 ?0?:5
��C:WindowsSystem, ? C:070==C 04@5AC 8 B.4.

�1I0O D@0 ?@8Q0:
implementation ... function FunctionName(Par1: Par1Type; Par2: Par2Type; ...):
ReturnType; stdcall; external 'DLLNAME.DLL' name 'FunctionName' index FuncIndex;
�� 5A;8 MB =5 DC=:F8O, 0 ?@F54C@0?
procedure ProcedureName(Par1: Par1Type; Par2: Par2Type; ...); stdcall; external
'DLLNAME.DLL' name 'ProcedureName' index ProcIndex;
FunctionName
(
ProcedureName
&#xO ;Ü&#x=:;ø&#x8 ;;&#x8 ;&#x?@;�&#xO ;Ü&#x=:;ø&#x8 ;;&#x8 ;&#x?@;�&#xO ;Ü&#x=:;ø&#x8 ;;&#x8 ;&#x?@;�) - 8O DC=:F88 8;8 ?@F54C@K, :B@0O 1C45B
���8A?;L720BLAO 2 ?@3@05.

Par1, Par2
�[&#x@0;[&#x@0;[&#x@0;[&#x@0;[&#x@0; ... - A?8A: ?0@05B@2, :B@K5 1C4CB 8A?;L720BLAO 2
�DC=:F88(?@F54C@5).

ReturnType
���� - 272@0I055 7=0G5=85, B;L: 4;O DC=:F88.

stdcall
��������� - 48@5:B820, :B@0O 4;6=0 BG= A2?040BL A 8A?;L7C59 2 A09
DLL.
1 / 6
���!740=85 8 8A?;L720=85 DLL

external
- 48@5:B820, C:07K20NI0O =0
Dll
���&#x?0;&#x?0; 87 :B@9 1C45B 8?@B8@20=0 DC=:F8O
��8;8 ?@F54C@0(2 40== A;CG05 DllName.Dll.

Name
&#xO ;&#x:0;&#xO ;&#x:0;&#xO ;&#x:0;&#xO ;&#x:0;&#xO ;&#x:0; - 48@5:B820, C:07K20NI0O =0 8O :=:@5B=9 DC=:F88, :B@0O 4;6=0 1KBL
&#x?0;&#x?0;&#x?0;8?@B8@20=0 87 =C6=9
Dll
��. -B0 48@5:B820 O2;O5BAO =51O70B5;L=9.

index
������� - -B 5IQ 4=0 =51O70B5;L=0O 48@5:B820, :B@0O C:07K205B ?@O4:2K9
�&#x5@;&#x D;&#xC=;&#x:F;ˆ&#x?;&#[email protected]00;=5@ DC=:F88(?@F54C@K) 2
Dll.

��2 A?A1

8=08G5A:0O 703@C7:0 Dll

����[�[�[�[�[�5AB@O =0 B, GB MBB 5B4 1;55 A;6=K9, = O2;O5BAO, =081;55 M;530=B=K.
�������������&#x :;�&#x :;�&#x :;�%@H B, GB = ;8HQ= =54AB0B:0 ?5@23 A?A10, = 1JQ :40 =51E48K9 4;O
���&#x A;&#x;0;&#x A;&#x;0;&#x A;&#x;0;&#x, ;&#xGB;�MB3 20@80=B0 ?@0605B @075@08, , ?@8G5 A;6=ABL 2 B, GB DC=:F8O,
&#x?0;8?@B8@C50O 87
DLL
��� 4ABC=0 ;8HL B340, :340 MB0
DLL
� 703@C65=0 8 =0E48BAO 2
&#xOB;&#x8.;&#x ;�;U&#x A;&#x;5;L[&#x, ;&#x:@;&#x:0;&#xOB;&#x8.;&#x ;�;U&#x A;&#x;5;L[&#x, ;&#x:@;&#x:0;&#xOB;&#x8.;&#x ;�;U&#x A;&#x;5;L[&#x, ;&#x:@;&#x:0;[�[�?0OB8. 0;55 A;54C5B, :@0B:5 ?8A0=85 DC=:F89 API 8A?;L7C5KE MB8 5B4.

LoadLibrary(LibFileName: PChar)
� - 03@C7:0 C:070==9
Dll
&#xOB;&#xL.;&#x ;&#x@8;&#x C;&#xA?;&#x5H;&#x=0; 2 ?0OBL. @8 CA?5H=
���7025@H5=88 ?5@0F88, 272@0I05BAO 45A:@8?B@
THandle
��MB9 181;8B5:8.

GetProcAddress(Module: THandle; ProcName: PChar)
- AG8BK205B 04p5A
������M:A?pB8p20==9 181;8B5G=9 DC=:F88. @8 CA?5H= 7025@H5=88 DC=:F8O
��272@0I05B 45A:@8?B@
TFarProc
�DC=:F88 2 703@C65==9
DLL
.

FreeLibrary(LibModule: THandle)
&#x M;°� - 45;05B =5459AB28B5;L=K MBB 4C;L 8
���&#xOB;&#xL.;&#x ;�&#xOB;&#xL.;&#x ;�&#xOB;&#xL.;&#x ;�&#xOB;&#xL.;&#x ;�A216405B A2O70==CN A =8 ?0OBL. A;5 2K720 MB9 DC=:F88, DC=:F88 181;8B5:8
�=54ABC?=K.

�� B5?5@L A05 3;02=5,   +...

@85@ 1

�@82O7:0 Dll : ?@3@05
2 / 6
���!740=85 8 8A?;L720=85 DLL
����� { 45AL 845B 703;2: D09;0 8 ?@545;5=85 D@K TForm1 8 55 M:75?;O@0
&#x 2;&#x=5;&#xH=;&#xNN;&#x 1;&#x;8;�Form1 } implementation { ?@545;O5 2=5H=NN 181;8B5G=CN DC=:F8N } function
GetSimpleText(LangRus: Boolean): PChar; stdcall; external 'MYDLL.DLL'; procedure
�Button1Click(Sender: TObject); begin { 8A?;L7C5 55}
ShowMessage(StrPas(GetSimpleText(True)));
����ShowMessage(StrPas(GetSimpleText(False))); { ShowMessage - ?:07K205B 480;325
�����:= A C:070==9 =04?8ALN; StrPas - ?@51@07C5B AB@:C PChar 2 string } end;
������&#x A;&#x?0;&#x A;&#x?0;&#x A;&#x?0;&#x;&#x 3;�&#x 3;�&#x 3;�"5?5@L B-65 A05, = B;L: 2B@K A?A1(=8B5 O 20 32@8; ?@

¨&#x2=;�
¨&#x2=;�0AA82=ABL :40?)...

@85@ 2

8=08G5A:0O 703@C7:0 Dll
����� {... 45AL 845B 703;2: D09;0 8 ?@545;5=85 D@K TForm1 8 55 M:75?;O@0
Form1 } var Form1: TForm1; GetSimpleText: function(LangRus: Boolean): PChar;
LibHandle: THandle; procedure Button1Click(Sender: TObject); begin { "'8AB8" 04@5A
�&#xAO;&#x 7;&#x@C;x&#xBL;&#x 1;&#x;8;�DC=:F88 B "3@O78" } @GetSimpleText := nil; { KB05AO 703@C78BL 181;8B5:C }
�LibHandle := LoadLibrary('MYDLL.DLL'); { A;8 2A5 OK } if LibHandle = 32 then begin {
�&#xAO;&#x ?;�&#xAO;&#x ?;�...B ?KB05AO ?;CG8BL 04@5A DC=:F88 2 181;8B5:5 } @GetSimpleText :=
GetProcAddress(LibHandle, 'GetSimpleText'); { A;8 8 745AL 2A5 OK } if
�&#x M;¼&#x D;&#xC=;&#x:F;&#x8N;&#x 8;&#x ?;�@GetSimpleText nil then { ...B 2K7K205 MBC DC=:F8N 8 ?:07K205 @57C;LB0B }
&#x 0;&#x 0;&#x 0;ShowMessage(StrPas(GetSimpleText(True))); end; {  =5 701K205 A2148BL ?0OBL 8
2K3@C78BL DLL } FreeLibrary(LibHandle); end;
��[�[�[�[�[�&#x0N;&#x A;&#x@0;|&#x..;&#x. ;&#x 4;&#x0 ;&#x;0;&#x4=;�&#x0N;&#x A;&#x@0;|&#x..;&#x. ;&#x 4;&#x0 ;&#x;0;&#x4=;��B;8G8O ?5@23 5B40 B 2B@3 284=K O 4C0N A@07C... C 40 ;04=, ?AB@8
&#xC ;;€B5?5@L =0 A0C 181;8B5:C.

@85@ 3

��AE4=8: ?@5:B0 MyDll.dpr.
library mydll; uses SysUtils, Classes; { ?@545;O5 DC=:F8N :0: stdcall } function
��GetSimpleText(LangRus: Boolean): PChar; stdcall; begin {  7028A8AB8 B LangRus
�&#x @;Ê&#xA:;&#xCN;&#x ;&#xTr;&#xue;&#x ;&#x ;&#x ;&#x ;;�272@0I05 @CAA:CN (True) ;81 0=3;89A:CN (False) D@07C } if LangRus then Result :=
PChar('4@02AB2C9, 8@!') else Result := PChar('Hello, world!'); end; { 8@5:B820 exports
���C:07K205B, :0:85 DC=:F88 1C4CB M:A?@B8@20=K MB9 DLL } exports GetSimpleText;
begin end.
�0: C65 ?8A0;AL 2KH5, 2
Dll
��&#x5I;&#xL ;&#x=5;&#x B;�&#x5I;&#xL ;&#x=5;&#x B;�&#x5I;&#xL ;&#x=5;&#x B;�&#x5I;&#xL ;&#x=5;&#x B;� 6= @075I0BL =5 B;L: DC=:F88, = 8 8:=:8,
�&#x5=;&#xN ;&#x8 ;&#xB.;&#x4.;&#x ;&#x@8;%&#x4Q;&#x==;�&#x5=;&#xN ;&#x8 ;&#xB.;&#x4.;&#x ;&#x@8;%&#x4Q;&#x==;�&#x5=;&#xN ;&#x8 ;&#xB.;&#x4.;&#x ;&#x@8;%&#x4Q;&#x==;�&#x, ;&#x:0;&#x: ;&#xMB;�:C@A@K, @8AC=:8, 5=N 8 B.4. @8254Q==5 =865 ?8A0=85 ?:065B 20, :0: MB
�����&#x5I;&#x5=;&#x8O;&#x @;Z&#xC@; A45;0BL. ;O =0G0;0 ?8HC 2AQ ??4@1=55. ;O ?5I5=8O @5AC@A2 2
Dll
�=C6=:
3 / 6
���!740=85 8 8A?;L720=85 DLL


-
*.RES
�� D09; A =51E48K8 @5AC@A08.

-
�AE4=8:
Dll
�, :C40 4102;O5.

-
�&#x?8;&#x;8;&#x@0;!:?8;8@20BL
Dll
, 2:;NG0O
*.RES
.


�����"5?5@L, B65, = ??4@1=55:


1.
&#x5=;L&#xN ; &#x5=;L&#xN ; &#x5=;L&#xN ;  5:C5=4CN A740BL :0:9-=81C4L :0B0;3 2 ?0?:5 %Delphi%Bin, =0?@85@
MyDllTest.

2.
*.RES
�� D09; A =51E48K8 @5AC@A08.


&#x B;&#xor;&#xla;&#xnd;&#xIm;&#xag;î&#xdi;&#xto;&#xr.;&#x F;&#xil;&#xe ;&#x-0;&#x B;&#xor;&#xla;&#xnd;&#xIm;&#xag;î&#xdi;&#xto;&#xr.;&#x F;&#xil;&#xe ;&#x-0;&#x B;&#xor;&#xla;&#xnd;&#xIm;&#xag;î&#xdi;&#xto;&#xr.;&#x F;&#xil;&#xe ;&#x-0;&#x B;&#xor;&#xla;&#xnd;&#xIm;&#xag;î&#xdi;&#xto;&#xr.;&#x F;&#xil;&#xe ;&#x-0;&#x B;&#xor;&#xla;&#xnd;&#xIm;&#xag;î&#xdi;&#xto;&#xr.;&#x F;&#xil;&#xe ;&#x-0;0) 0?CA:05 BorlandImageEditor. File - New - Resource File (*.res). A;5 MB3 Resource
���&#x 4;&#x0=;&#x=K;&#x9 ;Ð	;&#x 2;&#x :;�;�- New - [B8? @5AC@A0]. !E@0=O5 40==K9 D09; 2 :0B0;35 MyDllTest. 0?@85@
MyRes.
res
.

�1) ?8;8@C5
*.res
�� D09; ?@8 ?I8 brcc32.exe 87 %Delphi%Bin: brcc32.exe mydll.txt,
�?@5420@8B5;L= 70?8A02 2
myres.txt
� ?@81;878B5;L= B0:CN
�8=D@0F8N:
{ ---[ Myres.txt ]--- } FlyFold AVI "C:WindowsFlyFolders.avi" CoolPic BITMAP
"C:MyBitmapsmyPhoto.bmp" MyDta RCDATA "C:myfile.dta" { ---[ MyRes.txt ]--- }
��45AL ?5@25 ?;5 - =0720=85 @5AC@A0 2
*.res
D09;5(8 2
Dll
����� AB25BAB25==), 2B@5 -
�53 B8? (
�ICON, BITMAP
8
Z°Z°Z°Z°B.4.). "@5BL5 - 5AB=0E645=85 D09;0, A45@60I53 40==K9 @5AC@A.

&#x ?;�5@55I05 ?;CG5==K9
*.res
� 2 :0B0;3 MyDllTest.

�AE4=8:
Dll
�&#x ;&#x :;�;�&#x ;&#x :;�;�&#x D;	&#x; ;
;T&#xCN;&#xI5;0, :C40 4102;O5  :0B0;35 MyDllTest A740Q D09; A;54CNI53
������A45@60=8O (5A;8 =5B 3B23 8AE4=8:0):
{ ---[ MyDll.pas ]--- } library mylib; {$R MyRes.RES} begin end { ---[ MyDll.pas ]--- }
�?8;8@C5
Dll
, 2:;NG0O
*.res
.
4 / 6
���!740=85 8 8A?;L720=85 DLL

���&#x0=;&#x4=;�&#x0=;&#x4=;�0E4OAL 2 :0B0;35 %Delphi%Bin, =01@0BL 2 :0=4=9 AB@:5:
dcc32.exe MyDllTestmydll.pas
B:@KBL
Dll
87 Delphi 8 =060BL
build
.

 075I5=85 2
DLL
�� @5AC@A2 8 D@. 
DLL
��&#x5I;&#xL ;&#x=5;&#x B;�&#x5I;&#xL ;&#x=5;&#x B;�&#x5I;&#xL ;&#x=5;&#x B;� 6= @075I0BL =5 B;L: DC=:F88, = 8
��&#x5=;&#xN,;&#x B;&#x5:;«�&#x5=;&#xN,;&#x B;&#x5:;«�:C@A@K, @8AC=:8, 8:=:8, 5=N, B5:AB2K5 AB@:8.

�&#xK ;�&#x5G;&#xC ;&#x;8;&#xHL;&#x, ;&#xGB;�&#x5G;&#xC ;&#x;8;&#xHL;&#x, ;&#xGB;�0 MB K AB0=02;820BLAO =5 1C45. 05GC ;8HL, GB 4;O 703@C7:8 @5AC@A0 =C6=
703@C78BL
DLL
&#x, ;&#x?0;&#x, ;&#x?0;&#x @;Z&#xC@;&#xA ; &#x @;Z&#xC@;&#xA ; , 0 70B5, ?;CG82 55 45A:@8?B@, - 703@C60BL A0 @5AC@A AB25AB2CNI59
DC=:F859 (
LoadIcon, LoadCursor
, 8 B.4.).

�&#x=0;&#x=0;&#x=0;&#x5I;&#x5=;…&#x 2;&#x 1;&#x;8;� MB @0745;5 K ;8HL =5=3 70B@=5 @075I5=85 2 181;8B5:0E
DLL
�� :=
��&#x 2;&#x ;;&#xLD;&#x. ;&#x;;&#xO ;&#xMB;&#x 2;&#x ;;&#xLD;&#x. ;&#x;;&#xO ;&#xMB;&#x 2;&#x ;;&#xLD;&#x. ;&#x;;&#xO ;&#xMB;&#x 2;&#x ;;&#xLD;&#x. ;&#x;;&#xO ;&#xMB;&#x 2;&#x ;;&#xLD;&#x. ;&#x;;&#xO ;&#xMB;?@8;65=8O (B.5. D@ 2 5;LD8). ;O MB3 =C6= A740BL =2CN
DLL
���&#xC ;&#xil; ;&#x-00;&#xC ;&#xil; ;&#x-00;&#x -;&#x F;&#xil;&#xe ;&#x-0;8 41028BL 2 =55 =2CN D@C (File - New - DLL, 0 70B5 - File - New Form).

�&#x0 ;&#x?@;T«&#x;O;[&#x A;�&#x0 ;&#x?@;T«&#x;O;[&#x A;�&#x0 ;&#x?@;T«&#x;O;[&#x A;�&#x0 ;&#x?@;T«&#x;O;[&#x A;�&#x0 ;&#x?@;T«&#x;O;[&#x A;�&#x0 ;&#x?@;T«&#x;O;[&#x A;�&#x0 ;&#x?@;T«&#x;O;[&#x A;���0;55, 5A;8 D@0 ?@54AB02;O5B A19 480;325 := (40;L=CN D@C (
bsDialog
)),
��B 4102;O5 2
DLL
�&#x, ;ÐA;54CNICN DC=:F8N (4?CAB8, D@0 =07K205BAO
Form1
, 0 55 :;0AA -
TForm1
):

@85@ 3

&#x5I;&#x5=;…&#x D;� 075I5=85 D@K 2 Dll
function ShowMyDialog(Msg: PChar): Boolean; stdcall; exports ShowMyDialog; function
�&#x?;;&#xO@;&#x F;&#xor;&#xm1;&#x D;�ShowMyDialog(Msg: PChar): Boolean; begin { !7405 M:75?;O@ Form1 D@K TForm1
�} Form1 := TForm1.Create(Application); {  Label1 2K248 Msg } Form1.Label1.Caption
�&#x T;&#xru;&#xe ;°&#x T;&#xru;&#xe ;°:= StrPas(Msg); { 72@0I05 True B;L: 5A;8 =060B0 OK (ModalResult = mrOk) }
��Result := (Form1.ShowModal = mrOk); { A216405 ?0OBL } Form1.Free; end;
�A;8 65 =C6= @075AB8BL 2
DLL
��&#xC,;&#x B;�&#xC,;&#x B;�&#xC,;&#x B;�� =540;L=CN D@C, B =51E48 A45;0BL 425
5 / 6
���!740=85 8 8A?;L720=85 DLL
��&#xK.;&#x ;&#x@8;&#x M;°&#x =;Æ&#x=0;DC=:F88 - B:@KB8O 8 70:@KB8O D@K. @8 MB =C6= 70AB028BL
DLL
�&#x=8;&#xBL;&#x 4;Z&#x:@;&#x8?;°&#x=8;&#xBL;&#x 4;Z&#x:@;&#x8?;°&#x=8;&#xBL;&#x 4;Z&#x:@;&#x8?;°70?=8BL 45A:@8?B@ MB9 D@K.

��&#x ?;�&#x ?;�&#x ?;�!740=85 ?;038=2 45AL K =5 1C45 ?4@1= @0AA0B@820BL ?;038=K, B.:. C65
&#x5@;&#xK ;&#x?0;�&#x ;;S&#x:0;&#x ;;S&#x:0;&#x ;;S&#x:0;?@82545==K5 2KH5 ?@85@K ?3CB 0 ;53: @071@0BLAO 2 ;L28=9 G0AB8
�&#x8@;�?@3@08@20=8O
DLL
.

�&#x=N;&#x ;;&#x8H;&#xL,;&#x G;°&#x=N;&#x ;;&#x8H;&#xL,;&#x G;°&#x=N;&#x ;;&#x8H;&#xL,;&#x G;°&#x=N;&#x ;;&#x8H;&#xL,;&#x G;°&#x5,;&#x @;
&#xH8;&#x@O;&#xNI;U&#x 5;&#x5 ; ��0?=N ;8HL, GB ?;038= - 4?;=5=85 : ?@3@05, @0AH8@ONI55 55 276=AB8.
�&#x0 ;&#x?@;�&#x0 ;�&#x0 ;�&#x0 ;�@8 MB A00 ?@3@00 1O70B5;L= 4;6=0 ?@54CA0B@820BL =0;8G85 B0:8E
����&#x 2;&#xK?;�&#x 2;&#xK?;�4?;=5=89 8 ?72;OBL 8 2K?;=OBL A25 ?@54=07=0G5=85.

�&#x5@;&#x, ;&#xGB;�&#x5@;&#x, ;&#xGB;�&#x5@;&#x, ;&#xGB;�&#xC ;&#x@5;@&#x:B;�&#xC ;&#x@5;@&#x:B;�&#xC ;&#x@5;@&#x:B;�" 5ABL, =0?@85@, GB1K A740BL ?;038= : 3@0D8G5A:C @540:B@C, :B@K9 1K
����&#x =;Æ&#x=0;�2K?;=O; ?@51@0720=85 871@065=89, 0 =C6= ?@54CAB@5BL :0: 8=8C 425
����DC=:F88 2 ?;038=5 (8, AB25BAB25==, 2K720BL MB8 DC=:F88 2 ?@3@05) - DC=:F8O,
���&#xO ;&#x?;;&#x8=;&#x0 ;&#x/8;&#x;8;&#x 5;00;&#xO ;&#x?;;&#x8=;&#x0 ;&#x/8;&#x;8;&#x 5;00;&#xO ;&#x?;;&#x8=;&#x0 ;&#x/8;&#x;8;&#x 5;00;&#xO ;&#x?;;&#x8=;&#x0 ;&#x/8;&#x;8;&#x 5;00;:B@0O 1K 272@0I0;0 8O ?;038=0 (8/8;8 53 B8?), GB1K 41028BL MBB ?;038= 2 5=N
&#x0 ;‡�(8;8 2 BC;10@), ?;NA 3;02=0O DC=:F8O - ?5@540G8 8 ?@850 871@065=8O.

��&#x0 ;&#x8I;[&#x ?;&#x;0;8&#x=K;&#x, ;&#x?0;&#x0 ;&#x8I;[&#x ?;&#x;0;8&#x=K;&#x, ;&#x?0;&#x 4;&#x;O;&#x :;@&#x 4;&#x;O;&#x :;@&#x 4;&#x;O;&#x :;@&#x 4;&#x;O;&#x :;@&#x 4;&#x;O;&#x :;@" 5ABL A=0G0;0 ?@3@00 8I5B ?;038=K, ?B 4;O :0643 =0945==3 2K7K205B 53
�������?7=20B5;L=CN DC=:F8N A AB@3 ?@545;5==K 85=5 (=0?@85@,
GetPluginName
)
�&#x, ;Z&#x;8;&#x ?;�&#x, ;Z&#x;8;&#x ?;�&#x, ;Z&#x;8;&#x ?;�8 4102;O5B =C6=K9 ?C=:B 2 5=N, 70B5, 5A;8 ?;L720B5;L 2K1@0; MBB ?C=:B -
��������2K7K205B 2B@CN DC=:F8N, :B@9 ?5@5405B 2E4=5 871@065=85 (;81 8O D09;0,
�������A45@60I53 MB 871@065=85), 0 MB0 DC=:F8O, 2 A2N G5@54L, 1@010BK205B
�����&#xO ;Ð	;&#x0 ;&#xA ;&#x=0;&#x 8;p871@065=85 8 272@0I05B 53 2 =2 2845 (8;8 8O D09;0 A =2K 871@065=85).

��B 8 2AO ACI=ABL ?;038=0.
code
6 / 6

Приложенные файлы

  • pdf 7008866
    Размер файла: 314 kB Загрузок: 0

Добавить комментарий