close

Вход

Забыли?

вход по аккаунту

?

LAB7

код для вставкиСкачать
 ???????????? ?????? ?7
????????????? ???????? ? DLL
?????? ??????????? ? ??????? ???????????????? Borland Delphi 2.0 ? ????? Windows 95 ? ?????????????? ??????? ?????? Borland Resource Workshop, ? ????? ??????? Image Editor ? ??????????? ???????? ?? ??????? Delphi. ????????????? ??????? ??????????? ???????????????? ? ??????? VCL ?? ???????????, ?? ???? Delphi ???????????? ?????? ??? 32-????????? ?????????? ? ????? ??????? ??? ???????????? ??????? Windows.
????????????? ?????????
??????? ?????????? ?????? Windows (.EXE ? .DLL) ????????????? ??????????? ???????? ? ???? ???? ?????? ????????? ??????. ???? ????? ??? ????????? ??????? ??????, ???????????? ? ???????? ??????????, ??????? ? ???????? ????, ? ????? ????????? ??????. ??? ?????? ????????????? ?? ? ??????? ?????? ?????????, ??? ?? ??????????? ????????????? ? ?????? ??? ???????? ?????? ? ?????????? ????? ?????????????? ?????????? ?????? ?????????. ??? ??????? ? ???? ?????? ?? ?????????? ??????????? ??????? ????????? ?? ???? ??????????? ?????, ??? ???? ?? ??? ????????????? ? ???????? ??????. ??? ???????? ????? ?????? ?? ????? ?????????? ????????? ???????????? ????? ????????. ????? ???????? ?????? ????? ?????????? .RES (? Delphi - ??? ? .DCR) ? ?????????????? ? ???? ??????????? ????? ?? ????? ??????????, ???????????? ? ??????? .OBJ, ? ????? ??????????? ?? ?????? .LIB (??? ????? C) ??? .DCU (??? Delphi). ????? ???????? - ??? ???????? ?????, ??????? ???????????? ??????; ??? ???????? ? ?????????????? ???????? ???????????? ?????????? ???????? (???????? ? Delphi - brc32.exe), ??????????? ?? ?????? ?????????? ???????? ???????? (?????? ??? ???? ? ??????????? .RC) ????????? ???????? ???? .RES. ????? ????, ?????????? ???????, ??????????? ????????????? ??????????? ???? ???????? ??????????????? ? ????? .RES, ? ????? ???????????? ???????????? ???????? ? ????????? ????????. ? ???? ?????? ??? ?????????????? ???????? ???????????? ???????????? ????? Borland Resource Workshop.
???????????? ?????? ???????? ????????:
* ??????? ?????? (bitmaps)
* ?????? (icons)
* ??????? ???? (cursors)
* ?????????? ?????? (strings)
* ???? (menus)
* ?????????? "??????? ??????" (keyboard accelerators)
* ??????? (dialog boxes)
????? ????, ????? ??????? ??????? ????????????? ??????? (??????? ????????????).
??????????? ?????? ???????? ? ?????????
??? ????????? ???????? ? ????????? ?? Delphi ???? ???????? ?????? ???? ? ????? ???? ???????? ? ????????? ? ?????????????? ????????? ??????????? $RESOURCE ($R), ???????? ???:
{$R myres.res}
? ????? ????????? ????? ???? ?????????? ????? ?????????? ?????? ????????. ??? ?????? ? Delphi ?? ??????? ???????? ???? ???????? ?????? ??????? (???????? ?????), ??? ??? ????? ?????? Delphi ??????? ?????????????, ? ????????? ????????????? ?????? ????? ?????? ?????.
? ??????? (units) ????? ??????? ??? ?????????? ??????? ????? ??????????? ?????? ???????? ?????? ????????? ? ???? ?????? .DCU; ??????? ??? ?????????? ?????? .EXE ??? .DLL ??? ????? .RES, ???????????? ? ???????, ?????? ???? ???????? ???????????. ??????? ?????????? ? ?????????? ???? ?????? ?? ????? ??? ??????????, ??? ?? ???????????? ? ??????? .DCU.
?????????? ????????
?????????? ?????????? ???????? ???????? ? ???? .RES ?????????????? ?? ????????? ?????? ???????????? ???????? BRC32 (Borland Resource Compiler). ????? (??????? ? ?????????? ???????????? BRC32 ?????? ???? ???????? ? ?????? PATH ??? ?????? ? ???????)
brc32 -r myres.rc
???????? ? ?????????? ???????? ???????? myres.rc ? ???????? ????? ???????? myres.res. ???????? -r ????????, ??? ?? ????????? ??????????? ??????????? ????????? ????? ???????? myres.res ? ?????????? ??????. ? ??????? ??????????? ???????? ????? ????????????, ???????? brc32 ??? ??????????. ??????? ??? ?????? ? ?????????
??????? Image Editor, ???????? ? ???????? ???????? Borland Delphi, ????????? ????????? ? ?????????????? ??????????? ????????? ?????????: ???????? ????????, ???????? ? ????????? ????. ????? ????, ??? ????????? ????????? ? ????????????? ??????? ??????, ?????? ? ??????? ??????????????? ? ???? ????? ? ??????????? .RES.
??????? Resource Workshop ????? ???? ????????? ???????? ??? ? ????????? (.RES), ??? ? ? ?????????? (.RC) ??????? ????????, ? ????? ? ????????? ? ???? ??????????? ??????, ???????????? ?? ??????????/????????????, ? ????? ???????? ? ?????????-????, ????????? ? ????????? ?????.
??????? ?? Resource Workshop ???????? ????? ???????? ?????????? ????? ???????? ????????, ???????????? ? ?????? .RC.
???????? ? ????????????? ????????
???????, ?????? ? ??????? ??????
??????? ????? - ??? ??????????? ? ??????? BMP. ????? ???????????? ??????????? ?????? ??????? ? ??????? ?????. ?????? ??????????? ????????? ? ??????????? ????????? ? ??????????? ? ??????? .BMP.
?????? (icon) - ??? ????????? ??????????? ???????? 32?32 ??? 16?16 ????????, ??????????? ??? 16-??????? (? ??????????? ??????? Windows ?????????????? ? ??????? ??????? ?????). ? ?????????? ? ????????? 2 ??? 16 ??????, ??????? ?????? ????? ???? ??????????? ? ??????????????. ?????????? ??????? ????????? ???? ???????? ???????????, ?????? ???????? ????????? ??????, ????????????? - ???????????. ?????? ???????? ? ?????? ? ??????????? .ICO. ??????? ??????? ?????????? ??????????? ?????????? ???????????? ???? ??????, ? ????????? ??? ???????????? Image Editor ? Delphi ? Resource Workshop.
?????? ???? - ??? ??????????? (? ??????????? ??????? Windows ??????????? ???????) ????????? ??????????? ???????? 32?32 ???????. ?????? ?????? ??????? ????? ???? ??????, ?????, ?????????? ??? ?????????????. ??? ??? ?????? ???????????? ??? ??????????? ???????? ????????? ????????? ????, ? ??? ??????????? ???????? ??? ?????????? ??????? (hotspot) ? ???? ???? ????????? ???????????? ?????? ???????? ???? ???????? ?????? ???????. ??? ??????????? ????????? ???? ??????? ??????? ??????????? ? ???????? ???????????? ????. ?????? ??????? ? ???? ??????? ????? ??????? ?? ????? ???????, ??????? ? ???? ??????????? - ? ?????? ??????????? ? ?.?. ??????? ???????? ? ???? ?????? ? ??????????? .CUR. ?????? ??? ?? ???????? ????????? ?????????????????? ??????????? ????????? (???????? Image Editor ? Delphi ??? Resource Workshop).
??? ????????????? ??????????? ???????? ?????? ??????, ??????? ????? ??? ?????? ?????? ??????????? ? ???? ?????? ?? ??????????????? ???? ??????? ? ???????
<?????????????> <???> <????>
????????:
picture1BITMAPpic1.bmp
handCURSOR hand.cur
appiconICONicon1.ico
????? picture1, hand ? appicon - ?????????????? ???????? ??????, ??????? ???? ? ?????? ??????????????. ?????? ????????? ??????????????? ??? ???????? ???????? ????? ?????????????? ????? ????????????? 16-????????? ?????. ????? ????, ???????? ???????? ?????? ??????? ????? ????????????? ?? ? ????????? ?????, ? ? ????? .RC ? ???? ?????????????????? ????? ?????? (????? ???????? ????????? ?????? ? ?????????? ???????????? ?????? .RES).
??? ????????????? ???????? ? ????????? ?? ?????????? ?????????.
??????? ?????? ??????????? ? ??????? ???????
function LoadBitmap(hInstance: HINST; lpBitmapName: PAnsiChar): HBITMAP; ??????? ?????????? ????? ???????? ?????? ??? 0 ??? ???????. ? ???????? ??????? ????????? ??????????? ????? ?????????? ??????????, ?? ??????????? ????? ???????? ???????????? ???????? ???????. ?????? 0 ? ???????? hInstance ????? ???????? ?????? ? ????????? ??????????? ??????? ??????? Windows (??????? ????? ????????? ? ?.?., ??. ??????? ?? Win32 API). ?????? ???????? ?????? ????????? ???? ????????? ?? ????????? ????????????? ???????? ??????, ???? ??? ???????? ?????????????, ???? ? ????? ??????? ????? ??????????? ? ???????. Windows ??????????, ??????? ????????? ?? ?????? ??? ???????? ?????????????, ???????? ??????? ????? ??????????? ?????????: ???? ???????? 16-?????? ?????, ?? ??????? ????? ???????, ? ?? ????? ??? ????????? ?? ??????? ?????? ????????? ?????? ????? ????????? ??????? ?????.
????? ????????????? ?????? ??????????? ? ??????? LoadBitmap ??????? ????? ?????? ???? ????????? ? ??????? ??????? DeleteObject.
??? ???????? ??????? ???????????? ???????
function LoadIcon(hInstance: HINST; lpIconName: PChar): HICON; ?? ????????????? ?????????? ??????? LoadBitmap. ? ??????? ?? ??????? LoadBitmap, ???? ????????? ?????? ??? ??? ????? ????????, ?????? ??? ????? ?? ????? ??????????? ? ????? ????????? ????? ??? ???????????? ??????. ??????????? ? ??????? LoadIcon ?????? ?? ????????? ? ???????????. ??????????? ?????? ????? ?????????????? ??? ???????? ??????? ????. ????? ??????? ??????????? ?????????? ?????? ? ????????? ?????????? ? ??????? ??????? DrawIcon(hdc,x,y,hIcon);
??????? ??????????? ??? ?????? ???????
function LoadCursor(hInstance: HINST; lpCursorName: PAnsiChar): HCURSOR; ??? ?????????? ??????? LoadIcon. ????? ??????? ????? ?????????????? ??? ???????? ??????? ????. ????? ????, ??? ????????? ????????? WM_MOUSEMOVE ??????? ??????????? ????????????? ????????? ???? ? ?????? ????? ??????? ??? ?????? ??????? SetCursor(hCursor);
???? ??? ??????? ?? ????????, ?? ????? ??????????? ??????, ???????????? ? ??????? ?????? (?????? - ??? ????? ???????? ???? ? ???? Windows ????????????? ?????? ? ???????????? ? ????????? ???????? ??????, ??????? ???? ?????????????? "???????" ?????? ????? ??????? ? ??????? ?????????, ?? ? ?????? ???? ? ???????? ?????? ??????? ????? ????????? 0).
????? ??????? ???? ???????? ????????, ?????????? ????????:
123BITMAPpic1.bmp
ic1ICONicon1.ico
????? ??????????????? ??????? ????? ? ?????? ?????? ???? ????????? ??? ?????? ???????:
hbmp := LoadBitmap(hInstance, pointer(123) );
hicon := LoadIcon(hInstance, 'ic1'); ....................... ???????? ................
DeleteObject(hbmp);
?????????????? ?????? ???? ??????????? ??? ?????????? ????????. ??? ????????, ??? ????? ???? ?????? ???????? ????????? ?? ?????? ????, ????????, ???? ??????? ??????? ? ??????????????? 'pic1', ???? ??????? ???????? ?????? ? ?????? ? ?????????? ??????????????? ???????????. ??? ?? ?????, ????????????? ?????? ???????????? ?????????? ?????????????? ????????.
??????? ????? ????????
??????? ????? ???????? ???????? ????? ???????????????? ????? ????????. ????????????? ????? ???? ???????? ????????? ??????????? ????????? ??????? ??????????? ???????????? ??????????? (????????, ??????? ? ??????????? ?? ??????? ????). ???? ??? ??????????? ? ?????????, ??????? ????????? ??????? ?? ?????, ???????? ? ?????? ????????, ?? ??? ??????????? ???????? ????????????? ???????? ? ???????? ??????? ????????? - ?????????? ???? ????????? ????????? ? ????? ????? ??????. ?????? ?????????? ?????????, ??? ????????? ?????? ??????? ????????? ? ????????? ????? ????????, ?? ????? ??????.
?????????? ?????? ???????????? ? ??????? ? ??????????? ? ?????????????? ????????? ????? STRINGTABLE ????????? ???????:
STRINGTABLE
{
<id1>, "<string1>"
.....................
}
?????? ?????? ? ??????? ???????????? ?? ????????? ?????? ? ??????????? ? ??????? ??????? (??? ? ????? ?), ????? ?????? ???????, ?????????? ???????, ??????????? ?????-?????????????. ????????, ????? ???? ????????? ????????? ??????? ?????:
STRINGTABLE
{
1, "?????? ??????? ??????????"
2, "???????????? ????????"
10, "?????????? ??????????"
}
????????????? ??????????? ???????? ????????: ?????????? ???????????? ???????????? ??????? ????? ? ????????? ? ? ????? ????????. ? ????? ? ??? ???????? ???????? ?? ???? ???????? ????? ????????? ? ??????????? .H, ? ??????? ???????????? ???????? ?????????, ? ??????? ???????????? ? ????? .RC ? ????????? ?????? ????????? ?????????? #include. ??? ?????? ? Delphi ??????????? ????? ?? ??????: ?????????, ???????????????? ?????????? ??????, ????? ???? ??????? ? ????????? ????? ? ???????????? ? ??????????? ????? ??????? ? ???? ?????? const, ? ????? ???????? ? ???????? ????? ????????? ? ??????? ????????? ??????????? $INCLUDE ($I), ? ? ???? .RC - ? ??????? #include. ????? ????? ???????? ?????? (unit) ????? ???????, ???????????? ????? ???????? ??????? ?? ?????????? ????????, ? ?????????? ??? ? ????????? ? ??????? uses, ? ? ???????? ???????? - ? ??????? #include. ????? ????? ???? ??????? ????? (Resource Workshop "?????" ?????? ??? ????????????? ??? ?????? ?? ????????, ?? ??, ? ?????????, ?? ?????? ????????? ???????? ? ??????? ?????????):
----- ????????? ????????: RESCONST.PAS -----
unit resconst;
interface
const
IDS_Runerror = 1;
IDS_InvalidOp = 2;
IDS_Normalterm = 10;
implementation end.
-------- ???????? ???????? ---------
#include "resconst.pas"
STRINGTABLE
{
IDS_RUNERROR, "?????? ??????? ??????????"
IDS_INVALIDOP, "???????????? ????????"
IDS_NORMALTERM, "?????????? ??????????"
}
------------------------------------- ?????? ??????????? ? ??????? ??????? LoadString ? ??????? ?????:
function LoadString(hInst: HINST; uID: UINT; lpBuffer: PChar; nBufferMax: Integer): Integer; ????? hInst - ????? ?????????? ??????????, ?? ??????????? ????? ???????? ??????????? ??????, uID - ????????????? ????????????? ??????, lpBuffer - ????????? ?? ????? ??? ?????? ??????, nBufferMax - ?????? ??????. ???? ??????????? ?????? ????????? ?????? ??????, ??? ????? ???????. ??????? ?????????? ?????????? ??????????? ????????. ??????????? ??????, ???? ?????????, ?????? ????????????? ??????? ????????.
??????? ????????????
??????? ??????????? ????????? ? ???? ??????? ? ?????????? ? ???????????? ?????? ???????????? ??????. ??? ????? ? ????? ???????? ???????? ?????? ???? ?????? ?? ????, ?????????? ???????????? ??????, ????????:
data1MYDATAexample1.dat
? ???????? ?????????????? ? ???? ?????? ????? ???? ??????? ???????????? ??????. ????????? ????? ?????? ????? ??? ?????? ??????
hData := LoadResource (hInstance, FindResource(hInstance, 'data1', 'MYDATA') );
??? ?????? ? ?????? ??????? ????????? ?? ?????, ? ?????????, ??? ???????? ???????? ???:
pData := LockResource(hData);
{???????? ? pData}
????? ??????? UnlockResource, ???????????????? ? Windows 3.x, ? Windows 95 ?? ?????????. ????? ?????? ?????? ?? ?????, ??? ??????? ?????????? ??? ??????
FreeResource(hData);
????????? ? ???????? LoadResource, FindResource, LockResource ? FreeResource ??. ? ??????? ?? Win32 API.
????
?????????? ???????? ????????? ???? ? ????????? Windows-????????? ???????? ???????? ??? ? ????? ???????? ? ??????????? ??? ???????? ??????. ?????????? ????? ????????? ??????? API, ??????????? ????????? ? ???????? ???? ? ???????? ?????? ?????????, ?????? ??????????? ?? ??? ????? ??????????????? ?? ?????. ????, ??? ? ???????? ???? ??????????, ??? ????????? ????????? ???????????? ???????? ????????? ????????? WM_COMMAND.
???? ?????? ???? ?????: ??????? ???? (main menu), ???????????? ? ???? ?????? ??? ?????????? ????? ?????? ????, ??????? (drop-down menu), ?????????? ??? ???????????? ?????? ????? ? ???????????? ??? ?????? ??????? ? ??????? ????, ? ????? ??????????? ???? (popup menu) ???????????? (????? ???????? ????????????????? ??????????) ??? ?????? ?????? ??????? ???? ?? ???? ??? ????? ?????? ?????????? ? ????.
?????? ???? ????? ???? "?????????" (enabled), "?????????" (disabled) ??? "??????????" (grayed - ?????). ??? ?????? ????????????? ??????????? ??????? ???? ?????????? ?????-?? ???????? (??????????? ??????????? ???? ??? ????????? ?????????? ????????? WM_COMMAND). ??????????? ? ??????????? ?????? ???? ????? ????? ???????, ?? ??????? ???????? ??? ???? ?? ??????????. ??????????? ?????? ????, ? ??????? ?? ???????????, ?? ???????????? ????? ?????? ? ???????? ??? ??, ??? ???????????.
????? ????, ?????? ???????????? ???? ????? ???? "????????" (checked), ??? ???? ????? ?? ???????????????? ?????? ???? ???????????? ?????? "???????".
???????? ???? ? ????? ???????? ???????????? ???????? ?????????? ???????:
<???_????> MENU
{
[<?????? ????????? ????>]
}
<???_????> - ??? ?????? ??? ?????, ???????? ??? ????????????? ???? ? ????????? ??? ???????? ?????? ????. ?????? ????????? ???? ??????? ?? ???????? ??????? ???? ??? ??????????? ????.
????? ???? (???????? ?? ????????????? ???????) ??????????? ???
MENUITEM "<?????>", <?????????????> [, <????????>]
???? ?????? ???? ????????????? ???????, ?? ??? ??????????? ???
POPUP "<?????>" [, <????????>]
{
[<?????? ????????? ????>]
}
<?????>, ??????????? ? ??????? - ??? ??????, ??????? ???????????? ? ??????????? ?????? ????. ? ????? ????? ???? ??????? ???? "&"; ?????? ??????, ????????? ?? ???????????, ????? ???????????? ???????????? ? ??? ??????? ??? ?? ?????????? ????????? ? ???????? Alt ????? ?????????? ???? ????? ????. <?????????????> - ??? ?????, ???????????? ? ????????? ? ????????? ????????? WM_COMMAND ??? ?????? ????? ?????? ????. ?????? ???????????? ??????? ??????????? ???????????????, ??? ??? ???? ??????? ???? ??? ?????????? ????????? ??????, ? ?????????? ?? ? ???????? ???????? ?????????? #include. ????? ???????? ??? ??????????????? ???? ??????? ???????? ? ???????? "IDM_", ???????? IDM_EDIT.
? ???????? ????????? ????????? ???????? ???? ???????????? ????????? ?????, ??????? ????? ?????????? ? ??????? ??????? ?????????? ("???") ????? ? ("|" - "???????????"):
GRAYED - ????? ?????????? ? ????????? ?????.
INACTIVE - ????? ????????? (?? ?????????? WM_COMMAND), ?? ???????????? ??????? ???????, ???????????? ? GRAYED.
MENUBREAK - ????????? ?????? ???? ???????????? ? ????? ??????.
HELP - ???? ? ??? ????????? ?????? ???? "???????????" ? ??????? ???? ?????? ????.
? ???????? ???????????? ???? ????? ????? ??????????? ??? ???????, ??? ? ?????? ????, ??????????? ????? ??? ?? ? ??????? ???????? POPUP ? MENUITEM. ????? ????, ?????? ??????????? ???? ????? ?????????? ?????????????? ?????, ??????? ? ???????? ???????? ?????? ???? ??????
MENUITEM SEPARATOR
????? ????????????? ?????????????? ??????? CHECKED, ??????????, ??? ????? ???? ?????? ? ??????? ????????.
????????????? ????
??? ???????? ?? ????????????? ???? ?? ??????? ? ???????? ???????? ?????? ?????????? ??????? ??? ???, ??? ??? ??????? ? ???????, ????????
wndclass.lpszMenuName := 'MyMenu';
???, ???? ??? ???????? ???? ????????????? ???????? ?????????????, ????????, 12:
wndclass.lpszMenuName := pointer(12);
???
wndclass.lpszMenuName := '#12';
??? ???? ????? ?????? ????? ????? ????????? ????. ????? ??????? ???? ???? ??? ??????????? ???? ??? ??? ????????, ?????????? ????????? ???????? ???? ?? ???????:
hMenu := LoadMenu(hInstance, 'MyMenu');
? ????? ???????? ?????????? ????? ???? hMenu ? ???????? ???????? ????????? ??????? CreateWindow.
???????, ???? ????? ???????????? ???????? ????, ????? ???????? ???? ??? ????????????? ????, ?????? ???????
SetMenu(hwnd, hMenu);
? ?????? ?????? ????? ???? ???? - ? ??????? ???????
GetMenu(hWnd);
????? ????????? ? ????? ???? ???????????? ??? ??????????? ????. ?????? ???????????, ?? ?? ????????? ? ?????? ???? ?????? ???? ???? ??????? ??? ?????? DestroyMenu(hMenu). ???????? ????????? ????
??? ?????? ???????????? ?????? ???? (?????? ?? ?????? ???? ????? ??????? ???? ??? ??????? ??????? Enter) ????????? ?????????? ????????? WM_COMMAND ? ???????????
loWord(wParam) - ???????? ????????????? ?????? ????
hiWord(wParam) = 0; lParam = 0
??? ?????? ?????? ?????????? ???? (???????????? ??? ?????? ?? ?????? ? ????? ??????? ???? ????) ?????????? ????????? WM_SYSCOMMAND ? ???? ?? ???????????. ??? ??????? ??????? ?????????? ????????????? ??????? 4 ???? ???????? ????? wParam, ?.?. ????????? (loword(wParam) and $FFF0) ????? ????????? ???????? sc_size, sc_move, sc_minimize, sc_maximize, sc_close ? ??. ????????? WM_SYSMENU ?????? ?????????? ? DefWindowProc.
??? ?????? ??????????? ????????? ?? ???? ??? ?????? ???? ??? ?????? ?????????? ???????? ????????? ?????????? ????????? WM_MENUSELECT. ??? ???????, ????????, ??? ?????? ????????? ?? ?????????? ?????? ???? ? ?????? ????????? ????. ?????????:
loword(wParam) - ???????? ????????????? ?????? ???? ??? ????? ???????????? ????
hiword(wParam) - ????? ??????
lParam - ????? ????, ??????????? ????????? ?????
????? ?????? ???????? ?????????? ????? ???????? MF_GRAYED, MF_DISABLED, MF_CHECKED, MF_POPUP, MF_SYSMENU, MF_MOUSESELECT ? ??.
????? ?????????????? ??????? ?? ????? ???????????? ???? ????????? ???????? ????????? WM_INITMENUPOPUP, ??????????? ???????? ?????????? ???? ? ?????????? ???, ???????? - ????????? ??? ????????? ????????? ??? ??????. ?????????:
wParam - ????? ???????????? ????
loword(lParam) - ?????? ???????????? ????
hiword(lParam) - 1 ??? ?????????? ???? ? 0 ??? ????????
??? ??????????? ?????????? ???? ???????????? ??????
EnableMenuItem(hMenu, id, MF_GARAYED);
EnableMenuItem(hMenu, id, MF_ENABLED);
CheckMenuItem(hMenu, id, MF_UNCHECKED);
CheckMenuItem(hMenu, id, MF_CHECKED);
??? ?????????? ???? (? ??? ????? ????????? ???? ????) ? ???????? ???? ????? ???????????? ????????? ???????, ? ????????? ??????? ????? ???????????? ? ??????? ?? Win32 API:
CreateMenu, CreatePopupMenu, AppendMenu, GetSystemMenu, DeleteMenu, RemoveMenu, InsertMenu, ModifyMenu, DrawMenuBar, GetSubMenu, GetMenuItemCount, GetMenuItemID, TrackPopupMenu.
??????? ?????????????
??????? ????????????? ???????????? ??? ????????? ?????????? ?????????? ??????????. ? ???? ??????? ???????? ?????????? ?????? (??? ???????, ??????????????? ??????? ????, ???? ??? ?????????????), ??????? ??????? ????????????? ???????? ? ????????? ????????? WM_COMMAND ? ??? ??? ???? ?????.
? ????? ???????? ???????? ??????? ????????????? ???????????? ????????? ???????:
<???_???????> ACCELERATORS
{
[??????????? ?????????? ??????]
}
? ???????? ????? ??????? ????? ????????? ?????????? ??? ???????? ?????????????, ??? ? ??? ????. ??????????? ?????? - ??? ?????? ?????? ?? ??????? ????????? ????????:
"<??????>", <????????_?????????????> [, SHIFT] [, CONTROL] [, ALT]
"^<??????>", <????????_?????????????> [, SHIFT] [, CONTROL] [, ALT]
<ASCII-???>, <????????_?????????????>, ASCII [, SHIFT] [, CONTROL] [, ALT]
<???????????_???>, <????????_?????????????>, VIRTKEY [, SHIFT] [, CONTROL] [, ALT]
???????? ????????????? ??????? ??????? ?????????? ? ?????????? ????????? WM_COMMAND. ????? SHIFT, CONTROL ? ALT ????????, ??? ????????? ??????????? ??????? ???????? ?????????? ? ????????, ??? ??????? ??????????? ? ?????? ?????????. ?????? ?????? ??????????? ??????? ?????????????, ??? ? ?????? ????????? ?????? ??????, ??????????????? ?????????-???????? ???????, ?????? - ??? ??? ?????????? ??????? ? ???????? Ctrl (????? CONTROL ? ???? ?????? ?????? ?? ??????), ? ??????? ?????? ?????? ?????????? ?????? ???? ???????? ??? ?????, ? ????????? ?????? - ??????????? ??? ??????? Windows. ???????? ???????????????? ???????? ?????? ? ????????? ????????.
????????????? ??????? ?????????????
??? ????????????? ????????? ? ????? ???????? ?????????? ?????? ?? ?????????? ?????????, ? ????? ????????? ?????????????? ???? ??????? ?????????.
???????? ??????? ????????????? ? ????????? ?? ?????? ?????????????? ? ??????? ??????? LoadAccelerators:
hAccel := LoadAccelerators(hInstance, 'MyAccel');
???? ????????? ????????? ??????????? ??????? ??????? ???????? ?????????? ?????? ?? ???????:
while getMessage(msg, 0,0,0) do
if not TranslateAccelerator(hwnd, hAccel, msg) then begin
TranslateMessage(msg);
DispatchMessage(msg);
end;
??????? TranslateAccelerator ?????????, ???????? ?? ????????? msg ?????????? ?????????? ?, ???? ??? ???, ???????? ????? ?????????? ??????? ?????? ? ??????? ?????????????. ???? ?????????? ???????, ?????????? ??????? ????????? ???? hwnd ? ?? ?????????? ????????? WM_COMMAND ? ?????, ???????????????? ??????? ??????????, ??????? ??? ???? ?????????? TRUE. ??? ?????????, ?? ?????????? ? ??????? ????????? WM_COMMAND ??? ??????????, ??????? ?????????? FALSE. ???????? hwnd ??????? TranslateAccelerator ????????? ????????????? ????????? ????????????? ? ????? ??????? ?????????: ????? ?? ???? ?? ???????? ??????????? ????????? msg (????? ???? ?????????? ?????????? ? ???? ?????????), ????????? WM_COMMAND ????? ???????? ? ??????? ????????? ????????????? ?????????? ???? hwnd. ? ???????? hwnd ????????? ?????? ?????? ?????????? ???? ????? ???????? ????, ???? ????? ?? ????????? ????.
????????? WM_COMMAND, ??????????? ??? ??????? ??????? ???????, ????? ????????? ?????????:
loword(wParam) - ???????? ????????????? ?????????? ?????? ?? ??????? ?????????????
hiword(wparam) = 1; lParam = 0;
???? ??????????? ????????????? ???? ??? ????? ?????? ???? (????? ??? ?? ?????????????), ?? ?????? ????????? WM_COMMAND ??? ?? ??????? ????????? ?????????? ????????? ??????????? ????, ?.?. WM_INITMENU, WM_INITMENUPOPUP, WM_MENUSELECT. ???? ??????? ????????????? ???????????? ?????? ????, ?? ????????? WM_COMMAND ? ?????? ?? ??????????.
???? ???????
? ????? ??????? ????? ???? ????? ??????? ?????????? ???? ?????????. ?????????? ???? ??? ??????? ????????????? ??? ????? ????????????? ??????, ??????? ?????????? ??? ???????? ??????? ??? ?????? ????. ?????????? ???? ???????? ???????? ???? ?????????? (??????, ???? ????? ??????, ?????-?????? ? ??????-??????), ? ???????? ???? ? ????????? ??????? ? ??????? ???????? ???????. ??? ???????? ??????? ????????? ???????? ????????? ?????????, ? ??? ???????? ?????? ???????, ? ??? ????????? ????????????? ????? ????????. ????? ????, ?????????? ? ????????, ??????????? ? ????????, ???????? ?? ? ?????????? ????????, ? ? ?????? ???????????? ????? (? ????? 1/8 ?????? ?????? ??????? ?? ????????? ? 1/4 ?????? ?????? ?? ???????????), ??-?? ???? ??????? ??? ?????? ??????????? ?????? ???????? ???????? ????????? ?? ????????. ??? ?????????? ???????? ???????? ???????? (???, ???????, ? ????) ??????? ????????? ???????????, ? ????????? ????? ??????? ???? ? ?????? Borland Resource Workshop. ? ??? ??????? ????? "??????????" ??????? ??? ???? ??????? ? ????? ????????? ? ???? ?????????? ???????? ??????? ??? ??????????????? ? ???????? ????? ???????. ??? ??????????? ???????????????? ??????? ?????????? ??????? ??? ?????????? ????????? ???????, ??????? ????? ?????? ?? ??????? ?????????. ?????????????? ??????? ????? ?????????? ?????????? ? ??????? ??????? ?????????? ??????? ? ???, ??? ?? ????? ???????????? ?? ????????? ??????? ????????? ???? ???????, ??????? ????????? "? ??????" Windows; ? ?????????? ????????? ?????????? ?? ??? ?????????, ??????? ???????? ??????? ?????????. ????????? ?????????? ????????? ?????? ???? ????????? (??? ????????? - ?????):
function DlgProc(hDlg: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): longint; stdcall;
???? ??????? ???????????? ?????????, ??? ?????? ?????????? ????????? ????????, ????? - 0. ?????????, ??????? ?? ??????????????, ?? ?????? ???????????? ?? ? DefWindowProc, ?? ? DefDlgProc, ??? ??? ?? ????????? ? ??? ????????????? ? ??????? ????????? ???????. ????? DefDlgProc ?????? ?????????? ????????? ???????? ? ???????? (?????? ????? ????? ??????? ?????????? ?????????), ? ?????????? ???? ?????????? ???????? "???????????" ???????????? ???????.
????????? ??????? ?????? ???????????? ??? ??????? ??? ?????????: WM_INITDIALOG, ??????? ?????????? ??????????? ???? ??? ??? ?????????????, ? WM_COMMAND - ????????? ?? ???????? ???? ??????????.
???? ? ????? ?? WM_INITDIALOG ????????? ??????? ?????????? TRUE, ?? Windows ???? ????? ??????? ?? ????????? ?????????? ??????? (??? ????? ?????????? ? wParam); ??? ????????????? ??????? ????? ?????????? ???? ????? ??????? ???????? ?????????? ? ??????? ??????? SetFocus, ??? ???? ?????????? WM_INITDIALOG ?????? ??????? FALSE.
??? ??????? ???????????? SetFocus ????????? ????????: ??? ??? ?????????? ???? ????????? Windows, ?? ? ????????? ?????????? ?????? ???????? ??????? ??????????. ?????? ??? ?????????? ????? ????? ????????, ???? ???????? ????????????? ?????? ??????????, ?????????? ? ????? ???????, ??? ?????? ??????? GetDlgItem:
function GetDlgItem(hDlg: THandle; id: integer): THandle;
????????? WM_COMMAND ?? ???????? ???? ?????????? ? ??????? ?????????? ??? ?????????? ???????? ??????????? ? ????????????? ????????? ? ?????????? ??????.
??? ??????? ????????? ??????? ?????????? ? API ??????????? ??????? function SendDlgItemMessage(hDlg: HWND; nIDDlgItem: Integer;
Msg: UINT; wParam: WPARAM; lParam: LPARAM): Longint; ?????????? ?????????? SendMessage, ??? ???? ??????????? ????????? ???????? ???????? ???? ??????? hDlg ? ??????????????? nIDDlgItem (??? ???? ?? ????????? ????? ????? ????? ?????? ??????????).
? ????? ??????? Windows ????????????? ???????????? ????????? ??????????, ??????????? ?????????? ????? ?? ?????? ????????? ???? ?????????? ? ??????? ??? ?????? ??????? Tab ? ?????? ?????????? ????????.
?????? ??????????? ? ?????????????? ??? ?????? ??????? DialogBox. ??????? ?? ???? ??????? ?? ????????????, ???? ? ????? ?? ?????-???? ??????? ? ?????????? ????????? ?? ????? ??????? ??????? EndDialog, ?.?. ??????? DialogBox ???????????? ????????? ??????. function DialogBox(hInstance: HINST; lpTemplate: PChar;
hWndParent: HWND; lpDialogFunc: pointer): Integer;
lpTemplate - Z-??????, ?????????? ??? ??????? ???????, hWndParent - ????? ????-???????????? ??????? (?????? - ???????? ???? ?????????, ???? ????? ??????? 0), lpDialogFunction - ????????? ?? ????????? ???????. ???????????? ???????? ???????????? ????????????? ??? ?????? EndDialog ?????? ????????? ???????.
function EndDialog(hDlg: HWND; nResult: Integer): BOOL;
hDlg - ????? ???? ??????? (?????????? ? ????????? ??????? ? ???????? ?????????), nResult - ??? ?????????? ???????, ???????????? ? ?????????? ?????? ?????????. ?????????? ????????? ??????????? ????, ???????? ID_OK, ID_CANCEL, ID_ABORT, ID_IGNORE, ID_YES, ID_NO, ID_CLOSE. ?????? ?????? ??????????? ????? ??????? EndDialog ? ????? ?? ??????? ????????? ?????? (?????? ??? Ok ? Cancel), ? ????? ??? ????????? ?????????? ?????????? ????????? WM_CLOSE.
?????????? ??????????? ???????? ? ???????????? ??????????? ??????, ????????? ??? ?? ???????? ??????? CreateDialog, ?????? ???? ?????? ????? ??????????????? ?? ?????.
?????????? DLL
DLL (Dynamic-Link Library, ??????????? ??????????? ??????????) - ??? ????, ?????????? ????? ??????? ? ?????????? ????????, ? ?????, ????????, ???????. ??????? DLL ????? ?????????? ???????????? ???????? (.EXE) ??? ????????? ?????? DLL, ?????? ???????????? ? ???????? DLL ????? ?????????? ?????????????? ?????????? ?????? ???????.
?????? "???????????? ??????????" ????????, ??? ??????? ?????????? ?? ?????????? ? ??? ???????????? ?? ?????????, ? ?????????? ?? ???????? ???????????? ?????????? ? ???????? ?????? ?????????.
???????? DLL ???????? ??????? Windows: ??? ??????? API ??????? ? DLL-???????????, ? ????????????? ????????? ????????? ????????? DLL ????????? ???????? ???????? ? ???????????? ???????? ??????. ????????? ??????????? DLL ? ?????????? ?? ? ????????????? ???????? ????? ? ?????? ?????????? ??????? ??????????? ??????? ??.
??????????? DLL ????? ?????????????? ??? ????????????? ?? ????? ???????? ????????? (load-time linking, ??????????? ????????), ??? ? "???????" ?? ????? ?????? ????????? ??????????? ???? ??????? API (runtime linking, ???????????? ????????). ??? ?????????? ??????????? ? ?????? ???? ???, ??????? ?? ????????? ?? ?? ????????????, ? ???????????, ????? ??? ???????????? ???????? ???????????. ?????????????? ????????? ?????????? ????????, ???????????? DLL, ????? ???????? ? ????, ??? ??? DLL ?? ??????????? ? ?????????? ???????? ??????.
DLL ????? ???? ???????? ?? ?????? ?????? ? ?????????????? ????????? ??????? ??????. ? ???????????? ? DLL ??????????? ?????? ???? ??????? ??????, ????????? ? ??????? ?????? ??????? (????????? ???????? ??????????). ???????? ????? ???????????? ?????? ??????, ?????????????? ???????????? ???????????? - ??? ??????, ???????????? ? Delphi ??? StdCall (?????? ?????? ??????? WinAPI), CDecl (?????? ????? ?) ? Pascal (?????? ????? ???????).
????????? ????????? ?????? DLL
???????? ????? ?????????? DLL ?? ????? Borland Pascal 8, ???????????? Delphi, ???-?? ?????????? ???????? ????? ?????? (Unit) ? ???????? ????????? ???????:
library <???>; // ?????? Program ??? Unit
uses <??????? ?????? ???????????? ???????>;
<?????????? ???????? ? ???????>
exports
Proc1 index 10,
Proc2 name 'ProcedureTwo',
Proc3,
.....;
begin
<????????? ????????? ?????????, ????. - ??? ????. ??????????>
end.
??????????? ???????, ??? ??? ??????????? ?????? .EXE, ? ???? ????????? ??? ? unit'?? ??????????? ????????? ? ??????.
?? ????? exports ????? ??????? ????????????? ?????????????? ??????????????, ?.?. ??????????????? ??? ?????? ???????? ???????????, ????????. ????? exports ????? ??????????? ? ?????? ??????? ?????? ??? ? ???????????? ? ??????????? ????????, ???????????? ??????? - ????????? ?????? ??????? ???????????, ? ????? ????????????????. ????????????? ????????? ?????????????? ????????? ? ??????? ?????? StdCall, ?????????????? ?????????????? ????????????? ???? ?????? ???????????????? ??? Windows. ?????????????? ????? ? ????????? ?? ???????.
??? ?????? ?????????????? ????????? ????? ???? ? ????? ???? ?????? ???????? ????????????? (?????????? ?? ????????? ??????????? ???????????????? ?????) ? ?????????? ????????????? (?? ????????? ??????? ????????????? ?? ????????? ? ??????????? ? ??????? ???????). ?????? ?? ???? ??????????????? ???????????? DLL ????????? ?????????? ? ?? ????????. ? ???????????? Microsoft ????????????? ???????????? ????????????? ??????????? ????????????????, ???? ??? ????????? ????????? ??????? ???????? DLL.
?????????? ?????????? DLL, ? ??????? ?? ?????? (Unit), ?? ????? ???? ??????????????. ????? ????, ???? DLL ???????????? ? ?????????? ?????????, ?? ??? ??????? ???????? ????????? ????????? ????? ?????????? ?????????? DLL, ? ??????? ?????????? ?????????? DLL ? ???????? ?? ????? ???? ???????????? ??? ???????? ?????? ????? ?????????? ???? ? ?????? ??????? ? ??? ????? ??????? ????? DLL.
DLL ????? ????????? ???????, ??? ?? ??????????? ???????????? ??? ?? ?? ????????? ??????????? {$R}. ??? ??? DLL ???????? ??????????? ?????????? ??????, ? ??????? ?? ?????? Unit, ?? ??????? ????????? ?????????? ? ???? DLL.
????? ???????????? DLL
??? ????????????? DLL ????? ???? ?????? ??????? ? ?? ?????. ???? ??????? ??????, ?? ???? ?????? ?????????? ? ????????? ??????????, ????? ?? ?? ????? ??????. ???? ?? ??????? ?? ?????? (?????? ??? ?????), ?? ????? ???????????? ? ????????? ???????:
1. ??????????, ?????? ???? ????????? ???????????? DLL ?????????.
2. ??????? ??????????.
3. ?????????? SYSTEM32 ???????????? ??????? Windows 98/NT.
4. ?????????? SYSTEM ???????????? ??????? Windows.
5. ??????????, ???? ??????????? ???? Windows.
6. ??????????, ????????????? ? ?????????? ????????? PATH (?????? ????????????? ? ????? autoexec.bat).
??????????? DLL ?? ????? ????????
??? ??????????????? ??????????? ??????? DLL ??? ??????????? ? ???????????? ????????? ??? ??????? ??? ?????? ????????? external. ?????????, ???????????, ?????? ???? ??????? ????. ????????, ???? ??????????????? ? ?????????? ??????? DLL ?????????????? ? TESTLIB.DLL, ? ??? ?????????, ?????????? ? export ????? ?????????????? ????, ??? ? ??? ????? 32-????????? ????????? ? ?????? ?????? StdCall, ?? ??? ????? ??????????????? ????????? ???????:
const testlib='testlib.dll';
procedure FirstProc(a:integer); external testlib index 10; stdcall;
procedure SecondProc(a,b:integer); external testlib name 'ProcedureTwo'; stdcall;
procedure PROC3(a,b,c:integer); external testlib; stdcall;
?????? ????????? ? ???? ?????? ?????? ?????????? ????? ??? ??, ??? ? ? ??????????, ??? ??? ??? ?????????? ????? ???????????? ??? 'PROC3'.
????? ?????? ?????????? ? ???????? ????????? ????? ????????????? ????????? ?????????? TESTLIB.DLL, ? ??? ?????? ? ????????? ??????? FirstProc, SecondProc ? PROC3 ????? ?????????? ??????????????? ??????? DLL.
????? ??? ???????? DLL ?????? ????? ??????? ????????? ???????????? ?????? (Unit) ??? ??????? ?? ???????, ? ????? ?????? ?????????? ????? ?????? ? ???????????? ????????? ? ????? uses. ???????? ?????? ????????????? ?????? ???????? ?????? WINDOWS, ???????????? ?? ???? ?????????? Delphi ??? ??????? ? ???????? API.
??? ????????????? ?????????? ?????????? ?? ????? ???????? ???????????? ?? ????????? ?? ???????????.
??????????? DLL ?? ????? ??????????
????? ?????? ??????????? ?????? ???????????? ? ???? ???????:
- ????? ??????? DLL ???????????? ?????? ? ??????? ????????????? ????? ?????? ????????? (???????? - ?????????????? ???????????? ??? ???????);
- ????? ????????? ????????? ??????? ?? DLL.
??? ??????????? DLL ???????????? ???????:
function LoadLibrary(lpLibFileName: PChar): HMODULE;
function LoadLibraryEx(lpLibFileName: PChar; hFile: THandle; dwFlags: DWORD): HMODULE;
? ???????? ??????? ????????? ?????????? ????????? ?? ?????? ? ?????? ????? ??????????? ??????. ? ??????? ???? ??????? ????? ????????? ??? DLL, ??? ? EXE-?????. ???????? hFile ?????? ??????? ?? ???????????? ? ?????? ???? ????? ????. ? ????????? dwFlags ????? ?????? ?????????????? ????????? ???????? ??????????, ????? ?????????? ?? ??????? - ???? LOAD_LIBRARY_AS_DATAFILE, ???????? ??? ?????? ? ????????? ??????????. ???????????? ???????? - ????? ???????????? ??????????? ??????, ??????????? ??? ??????? API, ??? 0 ??? ????????? ????????.
????? ????, ??? ?????????? ?????? ?? ?????????, ???????????? ????????? ?????? ?????????? ?? ??? ?????? ?????? ??????? function FreeLibrary(module: hModule):boolean;
? ???????? ????????? ?????????? ????? ??????, ?????????? ??? ???????? ??????????.
??? ??????? ? ???????? ??????????? ??????????? DLL ?????????? ???????? ????? ????? ????? ?????? ??????? ? ??????? ???????
function GetProcAddress(module: hModule; procName: pChar): pointer;
? ???????? ??????? ????????? ?????????? ????? ?????? ??????????? DLL, ? ???????? ??????? - ????????? ?? ?????????? ????????????? ????????? ??? ???????? ?????????????, ??????????????? ? ???? "?????????", ????????
pointer(10); - ????? 10, ??????????????? ? ???? ?????????
???????????? ???????? - ????????? ?? ????? ????? ? ????????? ??? nil, ???? ????????? ????????? ???????????. ???????????? ??? ????????? ? ?????????? ?? ??????? ??????? ????????? ? ??????????? ???????????? ???? (? ??????????? ?? ?????????), ???????? ???:
var Proc: procedure(a,b:integer); //????????? ? ????? ?????? ???????????
hModule:THandle;
........................
hModule:=LoadLibrary('testlib.dll');
@Proc:=GetProcAddress(hmodule,'ProcedureTwo'); //?????????
proc(1,2); // ?????
FreeLibrary(hModule);
??????? ????? ??????????? ?????? ????? ??? ??????????? ?????????? - ????????, ???? ??? ????????? ??????????? ??????? ??? ?????? ?????????. ??? ????? ?????? ???????
function GetModuleHandle(filename:PChar):HMODULE;
? ???????? ????????? ?????????? ???????? ??? ????? ??? ??????????? ??????????.
????????????? ???????? ?? DLL
????? ??????????????? ???????? ?? DLL, ?????????? ???????? ????? ?????? ???? DLL ??? ?????? LoadLibrary ??? GetModuleHandle, ????? ???? ???????? ???? ????? ? ??????? ????????? ???????? ??????? (LoadBitmap, LoadCursor ? ?.?.). ?????? DLL ???????????? ??? ?????? ?????????? ????????, ?.?. ?? ???????? ?????????? ????? ??????.
????? ????????? ?????????? ????????????? ? ????? ??????? ? ?? ????????, ????????????? ????????? ??????? LoadLibraryEx ???????? ????????? ???????:
hModule:=LoadLibraryEx('testlib.dll',0, LOAD_LIBRARY_AS_DATAFILE);
hBmp:=LoadBitmap(hModule,'bitmap1');
................
DeleteObject(hBmp);
FreeLibrary(hModule);
??? ???? ?? ??????????? ??? ????? ? DLL, ??? ???????? ????????.
???????
??????????? ??? ??????????????? ??????????:
1. ??????? ????????????? ????? ???????? ?? ? ???????? ??????????????? ??????.
2. ?? ?????????? ??????? (Help) ??????? ???????? ????????? ??????? Windows ? ????????? ? ???? ???????? ??????:
???????: ??????????? ? ???????????:
1. ???????? ?????????. ????????? ??????? Delphi 2.0.
2. ????????? ???????? ????? ??????? LAB7.PAS, ??????? ?????? ?????? ?????????.
3. ??????????????? ? ????????? ??????. ??????? ????????? ????????? ????. 4. ????????? ????????? Resource Workshop, ??????? ???? ???????? RES7.RES, ????????? ??? ? ???? ????? .RC, ??????? ????????? ?????????? ???????? ????????.
5. ???????? ? ???????? ????????? ?? ??????????????? ??????? (??. ????). ?????????????????? ?????????? ?????? ?????????????.
6. ????????? ?????? ? Delphi ? Resource Workshop. ???????? ????????? ??????????.
???????? ???????:
? ???? ?????? ?????????? ???????? ?????????, ???????????? ????????? ? ????????? ?? DLL. ??????? ???? ????????? ?????? ???? ???????? ???? ? ??????????? ????????????? ???????. ? ????? ?? ???? ????????? ?????? ?????????????? ????????????? ?????? ????. ??? ??????, ??????? ??????, ???????, ??????, ???????????? ? ?????????, ?????? ???? ??????? ? ????????. ???? ?? ??????? ???? ?????? ?????????????? ????????? ?????? ?? ???????, ????????? ???????? ????????????? ??????? ?? ?? ?6.
?????? ????? ???? ?????? ?????????????? "????-????????", ??? ???????? ???????? ??????? ??????? ????????, ????????? ? ??????? ?? ?4, ????????????? ????? ?????? ??????? ? ???? ????.
????? ?? ????????? ????? ????????????? ??? ?????? ???????????????? ?????? ????.
??? ???? ????? ???? ?????? ????????? ? ?????? ??????? ??????? DLL ? ?????? LIB7.DLL ? ???????????? ? ????????? (??. ???????). ? ???????? ????????? PChar ?????????? ?????????? ????????? ?? ???????????? ??????, ??????????????? ?????.
?????????????? ??????????????. ?????????????? ???????????? ???????? DLL11a: integer; b: integer;???????????????22a: pchar; b: pchar;integerPascal????????????3'proc3'a: pchar; b: char;booleanAPI???????????4'proc4'a: pchar; b: pchar;pointerC????????????55a: pchar; var b: integer;???Pascal???????????66a: integer; b: integer;integerAPI????????????7'proc7'a: pchar; b: pchar;charC???????????8'proc8'a: pchar; b: char;smallintPascal????????????99a: pchar; b: pchar;booleanAPI???????????10'proc10'a: pchar; var b: integer;???C???????????? 
Документ
Категория
Без категории
Просмотров
17
Размер файла
70 Кб
Теги
lab7
1/--страниц
Пожаловаться на содержимое документа