Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.11.27;
Скачать: CL | DM;

Вниз

TRegisry.   Найти похожие ветки 

 
Германн ©   (2011-07-30 01:29) [0]

и его "странности"
Все (или почти все) функции TRegistry.Readххх вызывают исключения, если что не так. Окромя TRegistry.ReadString. А вот зачем такая разница между функциями одной группы?
Вопрос в целом риторический.


 
Marser ©   (2011-07-30 01:42) [1]

Вот уж сколько лет, как ушёл в .NET, а щас залез и глянул - ReadString юзает GetData, которое выбрасывает следующий экспшн прямо в коде
raise ERegistryException.CreateResFmt(@SRegGetDataFailed, [Name]);


Кагбэ вот :-)


 
Германн ©   (2011-07-30 02:34) [2]


> Marser ©   (30.07.11 01:42) [1]

Тёзка, сам я пока не проверял. Но хелп от Д6 и от Д2007 говорит несколько иное.


 
Германн ©   (2011-07-30 02:41) [3]

То бишь, все прочие Readxxx вызывают исключение, если такого параметра нет, а ReadString вызывает исключение только тогда, когда такой параметр есть, но его содержимое не есть "строка".
Во всех прочих случаях, если верить справке, ReadString вернёт пустую строку не возбудив исключения.


 
DVM ©   (2011-07-30 10:46) [4]


> Германн ©   (30.07.11 02:41) [3]

Мне кажется, что это как то связано с COM


 
_Юрий   (2011-07-30 10:59) [5]

Пустая строка - это по сути тот же null
У интов, булеанов и прочих флоатов такого значения нет.
Думаю, поэтому


 
Anatoly Podgoretsky ©   (2011-07-30 11:25) [6]

Потому что nil (пустая строка) и ее надо иметь возможность присваивать. Для чисел таких возможностей и нужды нет


 
tesseract ©   (2011-07-30 16:03) [7]


> Все (или почти все) функции TRegistry.Readххх вызывают исключения,
>  если что не так.


Капитан очевидность подсказывает что это не баг, а фича - я бы пляски устроил если бы в 1с была нормальная обработка исключений.


 
Германн ©   (2011-07-31 00:27) [8]


> Капитан очевидность подсказывает что это не баг, а фича

Может быть это действительно фича. Но я её смысл полностью так и не понял.
Т.е. почему всё-таки решено было не возбуждать исключение в ReadString, если такого параметра в данном ключе реестра нет? Какая разница какого типа этот параметр? Для всех прочих вызывается, а для строк нет.
Почему в ReadString задумано исключение в том случае, "если значение данного параметра не является строкой" несколько более понятно. Но тоже не совсем. Что значит "не является строкой"?


 
Юрий Зотов ©   (2011-07-31 01:46) [9]

> Что значит "не является строкой"?

Имеет тип, отличный от REG_SZ


 
Германн ©   (2011-07-31 02:04) [10]


> Юрий Зотов ©   (31.07.11 01:46) [9]
>
> > Что значит "не является строкой"?
>
> Имеет тип, отличный от REG_SZ

А что значит "имеет тип"?
И что значит REG_SZ?


 
Германн ©   (2011-07-31 02:12) [11]


> Юрий Зотов ©   (31.07.11 01:46) [9]

Ещё раз подчёркиваю, что сей вопрос(топик) скорее риторический. Для его решения есть функция ValueExists.
Просто хотелось узнать то ли я настолько дурак (или настолько устарел), то ли... не знаю чего-то.


 
Anatoly Podgoretsky ©   (2011-07-31 10:02) [12]

> Германн  (31.07.2011 00:27:08)  [8]

Отсутствие строки, это по сути пустая строка.


 
Dimka Maslov ©   (2011-07-31 11:05) [13]

Надо пользоваться Вынь-АПИ. Там исключения вообще не генерируются.


 
Юрий Зотов ©   (2011-07-31 11:09) [14]


> Германн ©   (31.07.11 02:04) [10]
> А что значит "имеет тип"?
> И что значит REG_SZ?

Запусти RegEdit.


 
DVM ©   (2011-07-31 22:09) [15]


> Dimka Maslov ©   (31.07.11 11:05) [13]


>  Там исключения вообще не генерируются.

генерируются



Страницы: 1 вся ветка

Текущий архив: 2011.11.27;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.006 c
15-1312287708
OW
2011-08-02 16:21
2011.11.27
Сеть рушится? Целый день ошибки


2-1312529516
Q_Q
2011-08-05 11:31
2011.11.27
SetDIBitsToDevice+alpha shannel


15-1312144196
Юрий
2011-08-01 00:29
2011.11.27
С днем рождения ! 1 августа 2011 понедельник


2-1312809401
Onyx2012
2011-08-08 17:16
2011.11.27
Drag&Drop в Express Quantum Grid


2-1312129640
From4pda
2011-07-31 20:27
2011.11.27
выбор диска для копирования