Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2011.11.27;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.003 c
1-1272455088
RAN-II
2010-04-28 15:44
2011.11.27
Доступ к документу FireFox


15-1312550454
DevilDevil
2011-08-05 17:20
2011.11.27
Описание формата XLSX


15-1312526088
Kilkennycat
2011-08-05 10:34
2011.11.27
ФАС против смсной дискриминации


1-1271161706
Zoom
2010-04-13 16:28
2011.11.27
Загадка с Memo и TntMemo


15-1312489794
Юрий
2011-08-05 00:29
2011.11.27
С днем рождения ! 5 августа 2011 пятница





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский