Не у кого не бывает, что вот жмешь файл->новый, а иконка сервис в вкладке Windows то как у кнопки, то как у формы... Я уже и не знаю скока разных иконок она принимала!(Щас иконка у меня как у кнопки)
Этот топик читают: Гость
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
карма: 10 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
У меня такое происходит если по HiUpdate заменяется мой файл hiasm.db, в котором были прописаны мои пользовательские компоненты, но реально файлы в папках HiAsm остались и схемы открываются нормально за исключением отображения иконки на компоненте.
|
|||
карма: 6 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
А у меня так после, допустим, создания нового проекта(а потом опять иконка меняется, правда не всегда), а не только после Update. Но я решил узнать ИСТИННУЮ иконку сервиса и залез в hiasm/int/NTServise.sha, оказывается это иконка ТАЙМЕРА!
|
|||
карма: 10 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Assasin писал(а): hiasm/int/NTServise.shaэто что за аддон такой? |
|||
карма: 27 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Ой простите не тот путь. Вот верный:HiAsmElementsDelphi
ewNTServise.sha |
|||
карма: 10 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Assasin, иконкой этого элемента является файл NTService.ico и лежит он по адресу HiAsmElementsDelphiicon. Приведенный же путь это шаблон нового проекта и к иконке никакого отношения не имеет
|
|||
карма: 27 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Dilma писал(а): Приведенный же путь это шаблон нового проекта и к иконке никакого отношения не имеетЯ знаю. Я просто решил посмотреть через эту схему какую иконку он должен загружать при создании проекта. Так вот я и написал Assasin писал(а): оказывается это иконка ТАЙМЕРА |
|||
карма: 10 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Assasin писал(а): Я просто решил посмотреть через эту схему какую иконку он должен загружать при создании проектамеханизм доступа к иконкам один на весь конструктор. В данном случае проблема из-за отсутствия этого элемента в палитре пакета Windows |
|||
карма: 27 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Хм... Странно... Иконка есть(шестерёнки, так?), но в ней два вида одна маленькая, другая побольше...
![]() ------------ Дoбавленo: Все равно(убрал вторую иконку) |
|||
карма: 10 |
|
Ответов: 215
Рейтинг: 45
|
|||
Отображение иконок чувствительно к регистру написания элемента.
например: иконка называется Element.ico, а написание самого элемента в какое-то время было решено сменить на "EleMent" - в результате у элемента будет произвольная иконка. Как минимум это касается схем, но возможно проявляется и в других местах т.к. "механизм доступа к иконкам один на весь конструктор" code_12422.txt В данном примере я принудительно сменил регистр буквы "В" в написании второго Label'а У меня данная "фича" часто проявляется при написании собственных компонентов, т.к. в процессе написания я часто меняю им имя и не всегда отслеживаю синхронность написания во всех местах. |
|||
карма: 0 |
| ||
файлы: 1 | code_12422.txt [117B] [396] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
lev писал(а): Отображение иконок чувствительно к регистру написания элемента.все верно. А происходит это от того, что hiasm для ускорения доступа к иконкам элемента использует бинарный поиск по отсортированному массиву имен, в котором учитывается регистр букв. Если бы не эти ухищрения конструктор давно бы уже грузился по нескольку минут (сегодня это время не превышает 1-1.5 с). Однако как я уже написал выше проблему тут иная |
|||
карма: 27 |
|
Ответов: 215
Рейтинг: 45
|
|||
А привести к одному регистру при составлении массива или при поиске сильно затормозит работу? Кол-во разных букв в массиве уменьшится (соответственно и дерево поиска), что может ускорить поиск или я чего-то не учитываю?
Имхо, для 26*2 латинских букв можно просто добавлять/удалять 0x20 вместо всеохватывающей функции преобразования регистра, знающей кучи языков. |
|||
карма: 0 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
lev писал(а): добавлять/удалять 0x20 вместо всеохватывающей функции преобразования регистра, знающей кучи языковНе думаю, что преобразование будет работать быстрее API-функции CharLower(PChar(Str)) или CharUpper(PChar(Str)) |
|||
карма: 22 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
lev, честно - ни разу не сталкивался с такой проблемой, хотя элементов уже около тысячи сделал... Приведение к какому-то из регистров неприменно в какой-то монент приведет к тому, что надо будет хранить и исходное имя и преобразованное... В итоге оптимизация ни о чем и в никуда
|
|||
карма: 27 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
И как же тогда поправить эту "фичу"?
|
|||
карма: 10 |
|
15