Вниз
Скачать: 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.023 c
11-1089096771
Igit
2004-07-06 10:52
2005.02.06
Tfilestream


1-1106303298
Tomkat
2005-01-21 13:28
2005.02.06
Net Send из приложения


4-1103363509
Начинающий2
2004-12-18 12:51
2005.02.06
Как узнать, работает программа под админом или под юзером?


8-1098395688
фантазер
2004-10-22 01:54
2005.02.06
Список форматов


3-1105367361
AlexTregubov
2005-01-10 17:29
2005.02.06
функции SQL




   Наверх