Предлагаю собирать коллекцию странностей компонентов в одном месте, здесь.
Пространность счетчика числа строк в компоненте Мемо уже упоминал - если даже очистить все строки, все равно будет на нижней точке писать что содержится одна строка. В невизуальном компоненте StringList этого бага или фичи нет..
Компонент для записи / чтения в реестр - при автостарте программы любые попытки записать чтото в реестр сопровождаются ошибкой String debug "Не удалось записать данные в реестр" Что то в этом духе. Тут выложил схему для тестирования методов автозагрузок:
http://forum.hiasm.com/topic/67286/1#
Пришлось отказаться от многих функций, в тч привязка к расширениям программы, тк при автостарте пишушие в реестр компоненты выдают такую табличку.
Этот топик читают: Гость
Ответов: 1291
Рейтинг: 47
|
|||
карма: 3 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Если автозапуск через реестр (в HKLM), то ветки HKEY_CURRENT_USER для записи может в момент запуска не существовать. А запись в HKLM требует запуска от администратора.
|
|||
карма: 26 |
|
Ответов: 1926
Рейтинг: 172
|
|||
Aziz писал(а): если даже очистить все строки, все равно будет на нижней точке писать что содержится одна строка.Ну так она и есть - только пустая. Можно просто посчитать кол-во символов во всём memo, если нужно убедиться, что он пуст. --- Добавлено в 2019-03-04 21:25:02 Aziz писал(а): при автостарте программыКакое конкретно событие вызывается? onCreate? Редактировалось 1 раз(а), последний 2019-03-04 21:25:02 |
|||
карма: 9 |
|
Ответов: 1343
Рейтинг: 31
|
|||
Netspirit писал(а): А запись в HKLM требует запуска от администратора.а можно вроде как и обойти это...., добавляем имя параметра "путь до программы" данные пишем "~ RUNASADMIN" ключ CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers после этих манипуляций, просто делаем перезапуск программы, проверяем записаны ли у нас данные уже (запуск от админа) ну и уже юзаем ветку HKLM без предоставления прав админа, ну если конечно не нужны права на запись в CURRENT_USER Редактировалось 2 раз(а), последний 2019-03-04 22:02:04 |
|||
карма: 2 |
|
Ответов: 1291
Рейтинг: 47
|
|||
Netspirit, пробовал сначала и через local machine. Потом current user. Эффект тот же. Похоже не зависит от ветки, тк даже с автозапуском через ярлык все равно ругалось о записи в реестр, нашел причину - там схема привязки расширений к программе опять же состояла из элементов реестра.
Помню как то раньше я делал мод компонента реестра чтобы в свойствах можно было отключать это сообщение об ошибке. Теперь уже неинайду наверное. |
|||
карма: 3 |
|
Ответов: 4628
Рейтинг: 749
|
|||
А, ты про само сообщение. Так его вообще надо убрать и добавить событие onError. Если знаешь Delphi - убрать сообщение можешь сам в файле hiRegistry.pas.
|
|||
карма: 26 |
|
Ответов: 1291
Рейтинг: 47
|
|||
3042, да. Netspirit, тоже да) Правил когда то по аналогии. Хоть дельфи не знаю, чисто используя английский + логику техническую.
Редактировалось 1 раз(а), последний 2019-03-06 01:33:06 |
|||
карма: 3 |
|
Ответов: 1291
Рейтинг: 47
|
|||
Вот еще кажущаяся странность, приведшая к ступору и багам) Всегда считал что метод doText обладает наивысшим приоритетом, но нет, он оказывается при подключенной верхней точке берет данные исключительно оттуда. Впрочем, все это описано в справке помню где-то.
|
|||
карма: 3 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Aziz писал(а): он оказывается при подключенной верхней точке берет данные исключительно оттудаЭта фича исключительно StrList-a, она так испокон веков работает. |
|||
карма: 22 |
|
9