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.