Главная страница
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.013 c
14-30602
malkolinge
2003-03-24 17:56
2003.04.10
Люди меня впервые опубликовали !


7-30618
Zhenka
2003-02-17 07:37
2003.04.10
Как заставит Маздай перичитать сведения об изменении Цвета


6-30499
Max2002
2003-02-19 15:22
2003.04.10
отправка команды броузеру


1-30414
Скаил
2003-03-28 13:26
2003.04.10
Какое событие возникает при копировании файла на дискету?


1-30401
Till
2003-03-30 13:16
2003.04.10
Ничего не пойму в какой части кода я ошибся???