Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.10;
Скачать: CL | DM;

Вниз

UpdateResource   Найти похожие ветки 

 
SeF ©   (2003-02-07 10:14) [0]

Здраствуйте Уважаемые!
проблема с ниже следующим кодом.
ресурс обновляется при условии [2]. Условие [1] и [3] никак не влияет. какие будут мысли?


function SaveRulesToResource(dllname: string);
var
handle, dll: thandle;
str: tmemorystream;
lang_: word;
begin
str := tmemorystream.Create;
SaveRulesSheme(str);
//dll:=loadlibrary(pchar(dllname)); [1]
//handle:=BeginUpdateResource(pchar(paramstr(0)),false); [2]
handle := BeginUpdateResource(pchar(dllname), false);
lang_ := 0; //myMAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL); //[3]
try
if UpdateResource(handle, "MAINRULES", "RULES", lang_, str.Memory, str.Size) //[4]
then EndUpdateResource(handle, false)
else EndUpdateResource(handle, true);
finally
//freelibrary(dll);
str.Free;
end;
end;


 
Игорь Шевченко ©   (2003-02-07 11:15) [1]

Если не трудно, то убери лишние комментарии


 
SeF ©   (2003-02-07 12:38) [2]

function SaveRulesToResource(dllname: string);
var
handle, dll: thandle;
str: tmemorystream;
lang_: word;
begin
str := tmemorystream.Create;
SaveRulesSheme(str);
//handle:=BeginUpdateResource(pchar(paramstr(0)),false); [2]
handle := BeginUpdateResource(pchar(dllname), false);
lang_ := 0;
try
if UpdateResource(handle, "MAINRULES", "RULES", lang_, str.Memory, str.Size)
then EndUpdateResource(handle, false)
else EndUpdateResource(handle, true);
finally
//freelibrary(dll);
str.Free;
end;
end;


 
Игорь Шевченко ©   (2003-02-07 13:24) [3]

А что говорит GetLastError ?


 
SeF ©   (2003-02-07 15:32) [4]

Говорит операщия закончена успешно.
в случае Dll никаких изменений, но в случае [2] создается файл *.tmp содержащий этот exe с измененным ресурсом.


 
Игорь Шевченко ©   (2003-02-07 15:50) [5]


BOOL UpdateResource(

HANDLE hUpdate, // update-file handle
LPCTSTR lpType, // address of resource type to update
LPCTSTR lpName, // address of resource name to update
WORD wLanguage, // language identifier of resource
LPVOID lpData, // address of resource data
DWORD cbData // length of resource data, in bytes
);

lpType

Points to a null-terminated string specifying the resource type to be updated. This parameter can also be an integer value passed to the MAKEINTRESOURCE macro, or it can be one of the following predefined resource types:

Value Meaning
RT_ACCELERATOR Accelerator table
RT_ANICURSOR Animated cursor
RT_ANIICON Animated icon
RT_BITMAP Bitmap resource
RT_CURSOR Hardware-dependent cursor resource
RT_DIALOG Dialog box
RT_FONT Font resource
RT_FONTDIR Font directory resource
RT_GROUP_CURSOR Hardware-independent cursor resource
RT_GROUP_ICON Hardware-independent icon resource
RT_ICON Hardware-dependent icon resource
RT_MENU Menu resource
RT_MESSAGETABLE Message-table entry
RT_RCDATA Application-defined resource (raw data)
RT_STRING String-table entry
RT_VERSION Version resource


Я не знаю (и Windows, очевидно тоже), что такое тип ресурса "MAINRULES"...


 
SeF ©   (2003-02-10 23:26) [6]

так ведь если создать res файл в котором будет такой ресурс то все ok обновляется.



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

Текущий архив: 2003.04.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
3-30216
phantom2040
2003-03-24 08:20
2003.04.10
Помогите с набивкой таблицы


3-30253
RDA
2003-03-19 20:54
2003.04.10
Access - XP или 2000


4-30662
Songoku
2003-02-05 15:58
2003.04.10
МАСТЕРА помогите!!! Как в EDIT поставить фон в виде рисунка!!!


1-30322
pavel_k
2003-03-28 19:16
2003.04.10
Вызов процедуры из самой себя


14-30552
ZeroDivide
2003-03-24 11:19
2003.04.10
Зуб болит