Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запись строкового ресурса


Чапаев ©   (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)

А как пишешь то?


Наверх

Титульная страница Поиск, карта сайта Написать письмо