Текущий архив: 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.45 MB
Время: 0.006 c