![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно писать в реестр данные типа REG_MULTI_SZ? [D5, D7, XP]
JohnKorsh © (2010-04-19 16:38:00)Не подскажет ли кто как считыват из реестра, а, самое главное, как писать данные типа REG_MULTI_SZ.
var: S : string;
S := ReadString ('Test1') - даёт ошибку на этапе выполнения,
var: S : TStrings;
S := ReadString ('Test1') - даёт ошибку ещё на этапе компиляции,
ReadMultiString - нет такого оператора,
ReadBinaryData - читается в массив с последующим восстановлением стринга, но, при записи, Data в реестре становится Binary и приходится восстанавливать реестр.
Anatoly Podgoretsky (2010-04-20 16:03:00) [1]
> там разделители $0 и в конце два нуля
Вот это сформируй и вызови RegSetValueEx
JohnKorsh (2010-04-20 15:45:00) [2]Да, неправда - там разделители $0 и в конце два нуля. Допшло понемногу.
Anatoly Podgoretsky (2010-04-20 13:36:00) [3]> JohnKorsh (20.04.2010 08:24:02) [2]
> а REG_MULTI_SZ - TStrings.
Неправда
Anatoly Podgoretsky (2010-04-20 13:32:00) [4]> JohnKorsh (19.04.2010 16:38:00) [0]
Надо написать наследника и реализовать два дополнтительных метода ReadMultiString/WriteMultiString
Другой вариант поискать в Сети уже готовую реализацию, правда там и писать нечего.
JohnKorsh (2010-04-20 08:46:00) [5]Спасибо.
Leonid Troyanovsky (2010-04-20 08:35:00) [6]
> JohnKorsh (19.04.10 16:38)
> Не подскажет ли кто как считыват из реестра, а, самое главное,
> как писать данные типа REG_MULTI_SZ.
http://groups.google.com/group/de.comp.lang.delphi.misc/msg/d7b35a5d536ce0f8?dmode=source
--
Regards, LVT.
И. Павел (2010-04-20 08:26:00) [7]> Ошибка несовместимости типов.
Это и так ясно. А какая ошибка этапа выполнения?
JohnKorsh (2010-04-20 08:25:00) [8]В общем, с помощью ReadBinaryData считать можно, записать не могу.
JohnKorsh (2010-04-20 08:24:00) [9]Ошибка несовместимости типов. Функция возвращает string, а REG_MULTI_SZ - TStrings.
И. Павел (2010-04-19 19:02:00) [10]> S := ReadString ('Test1') - даёт ошибку ещё на этапе компиляции,
function ReadString(const Name: String): String;
Посмотрите, что возвращает функция в случае REG_MULTI_SZ, и присвойте TStrings вручную.
> даёт ошибку на этапе выполнения
Какую?