TMyRes = record

Text: array [0..19] of Char;

Wordi, Word2: Word;

Bytes: array [1..10] of Byte;

Inti, Int2: Integer-end;

var

P: PMyRes;

ResHandle, MemHandle: Word;

begin

ResHandle :=

FindResource(hinstance, 'MyRes', PChar(Longint(10)));

if HandleoO then begin

MemHandle := LoadResource(hinstance, ResHandle);

P := LockResource(MemHandle);

with P" do begin

WriteLn(Text) ;

WriteLn(Wordi, Word2:10);

for k := 1 to 10 do Write(Bytes[k]:4) ;

WriteLn;

WriteLn(Intl, Int2:10) end;

FreeResource(Handle) end end.

Небольшой комментарий. При обращении к FindResource третьим параметром требуется указать тип ресурса. Этот параметр определен как PChar, но не пытайтесь здесь поместить строку ' RCDATA', т.к. 2 слова этого параметра используются специфичным образом: старшее слово должно содержать 0, а в младшее необходимо поместить числовой идентификатор типа параметра (для ресурса пользователя он равен 10). Именно эту операцию и реализует выражение

PChar(Longint (10))

9.5. СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ ДИНАМИЧЕСКИХ БИБЛИОТЕК

Динамически подключаемые библиотеки (далее DLL) представляют собой универсальный механизм интегрирования в Вашу программу процедур и функций, написанных другими программистами и, в общем случае, на других, чем Паскаль, языках программирования. DLL не могут использоваться в реальном режиме ДОС и поэтому в Турбо Паскале нет средств работы с ними. В ВР могут создаваться программы для защищенного режима и есть соответствующие средства создания и использования DLL.