Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
3-30210
Stas
2003-03-20 15:10
2003.04.10
Данные & Интернет


14-30532
Думкин
2003-03-24 07:38
2003.04.10
Времена


14-30562
MasterA
2003-03-25 06:57
2003.04.10
Speech Api


1-30377
Михайлов Антон
2003-03-29 09:51
2003.04.10
MainMenu=>SubMenu


3-30215
Vovik
2003-03-19 09:51
2003.04.10
Типы полей в Dbase





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский