Текущий архив: 2006.12.24;
Скачать: CL | DM;
Вниз
UpdateResource (изменение данных в исполняемом файле) Найти похожие ветки
← →
Владимир Владимирович (2006-08-16 17:04) [0]Есть файл .txt с содержимым:
header
value1
value2
value3
header2
value1
...
...
Как можно организовать работу, чтобы можно было спокойно через tmemo обращаться к этим данным в исполняемом файле и потом сохранять изменения туда же? MSDN не помог, так как там с функцией Udateresource у меня не получилось.
← →
Чапаев © (2006-08-16 17:12) [1]> через tmemo обращаться к этим данным в исполняемом файле
> и потом сохранять изменения туда же?
Через ResourceStream.
Надеюсь, ты знаешь, что в запущенный PE писать обычными средствами нельзя?
← →
Владимир Владимирович (2006-08-16 17:25) [2]Мне писать нужно в другой EXE файл и из него же брать эти самые данные.
Вот что делаю:
var
hExe,hUpdateRes : tHandle;
hRes,hResLoad : hrSrc;
lpResLock : pointer;
begin
hExe := LoadLibrary(pansichar(application.exename));
hRes := FindResource(hExe, "todolist", "text");
hResLoad := LoadResource(hExe, hRes);
lpResLock := LockResource(hResLoad);
hUpdateRes := BeginUpdateResource("todo.exe", FALSE);
UpdateResource(hUpdateRes, "text", "todolist", LANG_NEUTRAL,
lpResLock, SizeofResource(hExe, hRes));
EndUpdateResource(hUpdateRes, FALSE);
FreeLibrary(hExe);
Выдает ошибку:
Project updater.exe raised exception class EAccessViolation with message "Access violation at address 00454AE2 in module "updater.exe". Write of address 00000058". Process stopped.
← →
VladimirVladimirovic (2006-08-16 17:26) [3]Извиняюсь, за опечатку, брать данные нужно из файла который запущен (саму программу которая все это делает), а сохранять в другой файл, не запущенный.
← →
VladimirVladimirovic (2006-08-16 17:40) [4]Еще раз извиняюсь, ошибка к этому не относилось, это была другая функция. Вот этот код никаких ошибок не выдает, но и результата нет.
← →
VladimirVladimirovic (2006-08-16 18:08) [5]все ок, функция рабочая - пользуйтесь, просто была еще одна ошибка у меня.
Страницы: 1 вся ветка
Текущий архив: 2006.12.24;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.035 c