Главная страница
    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.45 MB
Время: 0.006 c
14-30594
race1
2003-03-26 07:19
2003.04.10
size


3-30306
yurikon03
2003-03-23 16:57
2003.04.10
Надо рубли отделить от копеек по-русски!


1-30340
nejest
2003-03-31 15:50
2003.04.10
Перемещнеие каталога с подкаталогами и файлами


4-30648
vasilly
2003-02-09 22:09
2003.04.10
Как на уровне HOOK отследить изменение раскладки клавиатуры?


1-30445
alex_bredin
2003-03-31 09:58
2003.04.10
Перенос проекта c Win2000 под WinXP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский