![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запись строкового ресурса
Чапаев © (2006-09-23 20:04:00)Нужен маленький примерчик сабжа. Крутил UpdateResource() и так и этак -- со строками не получается ничего... :-(
Чапаев (2006-09-26 22:02:00) [1]Спасибочки! Буду пробовать!
Leonid Troyanovsky (2006-09-26 20:31:00) [2]
> Чапаев © (26.09.06 08:56) [6]
> Вот я и прошу маленький пример рабочего кода...
Могу словами.
То что у тебя стоит 3 параметром (0 ?) на самом деле даже
не идентификатор строки (который, например, можно LoadStr)
а имя блока, в который помещается 16 строк.
Т.е., модифицируется весь такой блок целиком.
Формат этого блока таков: сначала 2 байта - длина строки,
за ними - сама строка.
И так 16 раз подряд (нулевая длина означает пустую строку).
Связь между идентификатором строки и именем блока
(на самом деле, это не имя, а тоже числовой идентификатор)
выглядит как Id := (IdBlock-1) shl 4 + idx,
где idx - индекс строки в блоке (из 0..15).
Подробности можно найти в исходниках demos\resxplor.
Кстати, запустив его можно оные блоки увидеть.
--
Regards, LVT.
Чапаев (2006-09-26 08:56:00) [3]Вот я и прошу маленький пример рабочего кода...
Leonid Troyanovsky (2006-09-25 22:53:00) [4]
> Чапаев © (25.09.06 18:45) [4]
> да она не fails... записывает, но нечто совсем не напоминающее
> оригинал...
Видимо, код нам также ничего не напомнит.
--
Regards, LVT.
Чапаев (2006-09-25 18:45:00) [5]да она не fails... записывает, но нечто совсем не напоминающее оригинал...
Сергей М. (2006-09-25 10:24:00) [6]If the function fails, the return value is zero. To get extended error information, call GetLastError.
Чапаев (2006-09-23 23:06:00) [7]
var
S:WideString;
...
UpdateResource(Lib,RT_STRING,MAKEINTRESOURCE(0),0,@S[1],Length(S)*2);
Если тип ресурса задать как RT_RCDATA, всё отлично записывается.
Орион (2006-09-23 22:49:00) [8]> [0] Чапаев © (23.09.06 20:04)
А как пишешь то?