Главная страница
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.014 c
2-1311648304
NBAH1990
2011-07-26 06:45
2011.11.27
Подключение к онлайн базе данных


15-1311859760
Дмитрий С
2011-07-28 17:29
2011.11.27
threadvar


15-1306263283
R_R
2011-05-24 22:54
2011.11.27
Вот у меня есть ещё одна идейка - идея мега-шахмат


2-1312799819
А
2011-08-08 14:36
2011.11.27
mysql zoesdb нет коннекта


8-1219765670
СССР
2008-08-26 19:47
2011.11.27
Подскажите, как можно проверить открыт ли CD-ROM