Вниз
Скачать: CL | DM;

Достать ресурс из dll   Найти похожие ветки 

 
SashkoSoft ©   (2005-01-26 12:09) [0]

Господа, подскажите пожалуйста решение.

Файл ресурсов создаю таким образом:
res.rc
1 RCDATA "pic1.jpg"
2 RCDATA "text.txt"
brcc32 res.rc --> res.res
Далее создаю dll которая является контейнером для файла ресурса.

var
tmpResStream : TResourceStream; // Resource Stream
tmpH:THandle;
begin
tmpH:=LoadLibrary(PChar(libname));   // (подгружаю ДЛЛ)
tmpResStream := TResourceStream.CreateFromID(tmpH,1, RT_RCDATA);
...
tmpJPG.LoadFromStream(tmpResStream);  (таким способом я достаю джипеги и все замечательно)

Но вот прочесть строку из текстового файла не получается!
Если Вас не затруднит, подскажите как это сделать.
Заранее Большое Спасибо.


 
Fay ©   (2005-01-26 12:26) [1]

Попробуй так
function LoadStringFromRes(cName : string) : string;
var
 r, sz : DWORD;
 p : PChar;
label
 Err;
begin
 r := FindResource(0, PChar(cName), RT_RCDATA);
 if r = 0 then goto Err;
 sz := SizeofResource(0, r);
 if sz = 0 then goto Err;
 p := PChar(LoadResource(, r));
 if p = nil then goto Err;
 SetString(Result, p, sz);
 Exit;
 Err :
 Result := "";
end;


 
SashkoSoft ©   (2005-01-26 12:43) [2]

в этом случае нужно создавать файл ресурсов не так как я делал:
1 RCDATA "pic1.jpg"
2 RCDATA "text.txt"
а иначе:
1 RCDATA "pic1.jpg"
MyText Text info.txt  ?
и в строке r := FindResource(0, PChar(cName), RT_RCDATA);
вместо cName надо подставить "MyText"?
а в строке p := PChar(LoadResource(, r)); видимо нужно написать:
p := PChar(LoadResource(tmpH2, r));  ?
предварительно написав  tmpH2:=LoadLibrary(PChar(libname));
где libname - имя длл-ки ?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
1-1106411316
Никита
2005-01-22 19:28
2005.02.06
Расширенная работа со шрифтами


1-1105985683
Ермак
2005-01-17 21:14
2005.02.06
TForm::OnShow


1-1106730895
s_ilnar
2005-01-26 12:14
2005.02.06
Считывание файлов в несколько потоков


4-1103017563
Phantomouse
2004-12-14 12:46
2005.02.06
COM порт дубль 2


1-1106291216
Бизон
2005-01-21 10:06
2005.02.06
Доступ к функциям MSWORD из Delphi




   Наверх