Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 4697
Рейтинг: 426
#1: 2009-09-08 16:45:42 ЛС | профиль | цитата
Имею идею в голове по улучшению HiAsm, иногда случается, что используешь в схеме своичужие нестандартные компоненты, чтобы в архив не добавлять этот компонент(и в палитру в том числе), предлагаю такое решение:
  Добавить компонент во вкладку Инструменты(Tools), по анологии тот же IC(InLineCode), только вместо свойств(WorkEvents...) на экран вывести по нажатию по св-ву CTools(например) возможно ECreator, или редактор строк(тип св-ва - String) а в нем _prop_%имя%, _data_%имя% и дальше _work_XXX, _event_XXX... вобщем этакий описатель параметров + при двойном клике на компоненте выдавать его внутренний код(unit %имя вн. компонента% <...> THI%имя...% = Class(XXX) и дальше по анологии(вместо unit HiAsmUnit <...> THiAsmClass = XXX...). Да так же в ECreator этот(если выберите его) добавить кнопку(св-во) Icon - иконку к компоненту, или стандартную с кубиками, ромбами.
  Проблемы при компиляции :
Q: Как скомпилировать несуществующий компонент
A: 1.(самый простой) Создать временные файлы в положенных папках
  2. Каким-то другим макаром включить "компонент" в код(правда это мне кажется невозможным)
Дополнения :
  1. Возможность создание составляющих компонента(*.ini, *.pas, *.ico) из "компонента", добавленного в схему.
  2. Так будет намного проще составлять шаблоны будущих компонентов(просто тупо скопируй код из "компонента" в pas-файл и все или применить п.1)


Большая просьба не пинать, знаю, что это очень сложно, ОЧЕНЬ-ОЧЕНЬ я бы даже сказал, но факт остается фактом
Assasin писал(а):
Так будет намного проще составлять шаблоны будущих компонентов

  
Да, забыл включить главное
    Причина новшества :
1.
Assasin писал(а):
Так будет намного проще составлять шаблоны будущих компонентов

2. Возможность использования нестандартных компонентов без их установки в виде "компонента"


Ну вот теперь вроде все, начинаем критику
P.S: очень надеюсь, что я не впустую написал это все хотя мало верится что такое будет в HiAsm
карма: 10
0
vip
#1.1контекстная реклама от партнеров
Администрация
Ответов: 15294
Рейтинг: 1518
#2: 2009-09-08 16:54:23 ЛС | профиль | цитата
элементы, не входящие в пакет нужно уметь паковать непосредственно в проект, тогда таких проблем не будет
карма: 26
0
Разработчик
Ответов: 4697
Рейтинг: 426
#3: 2009-09-08 16:58:57 ЛС | профиль | цитата
Dilma писал(а):
нужно уметь паковать непосредственно в проект

=
Assasin писал(а):
2. Каким-то другим макаром включить "компонент" в код


Или я чего-то недопонял и это значит что моя идея приказала долго жить
карма: 10
0
Администрация
Ответов: 15294
Рейтинг: 1518
#4: 2009-09-08 17:03:59 ЛС | профиль | цитата
просто тему преобразования IC в элемент(и наоборот) не стоит мешать с темой сохранения проекта с включением сторонних элементов в него. Эти задачи можно решать не зависимо друг от друга
карма: 26
0
Разработчик
Ответов: 4697
Рейтинг: 426
#5: 2009-09-08 17:17:41 ЛС | профиль | цитата
Тогда как я понял надо каким-то способом поставить "пометку" компонента, для его сохранения в схему, а при ее открытии просто автоматом добавить в палитру этот компонент, если он не существует в схеме, а при закрытии спросить "оставить компонент в палитре?" + отбросить часть с компиляцией. Чтож уже хорошо, если появится такая возможность.
НО :
  Есть один недостаток, для создания шаблона будет нужен IC-компонент, где невозможно задавать св-ва.


Да кстати, Dilma, раз уж про ECreator я заговорил, неправильная генерация основы *.pas компонента, например если св-во выводится двойным кликом иили можно создать doXXX к нему(что соответствует + и @), то в pas-е создается так
#pas
...
_prop_+Data:string;
...
_prop_+@Str:string;
_prop_@Index:integer;
карма: 10
0
Администрация
Ответов: 15294
Рейтинг: 1518
#6: 2009-09-08 18:12:55 ЛС | профиль | цитата
Assasin писал(а):
Тогда как я понял надо каким-то способом поставить "пометку" компонента, для его сохранения в схему, а при ее открытии просто автоматом добавить в палитру этот компонент, если он не существует в схеме, а при закрытии спросить "оставить компонент в палитре?" + отбросить часть с компиляцией.

да, как-то так. Пометку ставить не обязательно, т.к. впринципе можно отличить элемент дистрибутива от внешнего элемента.

карма: 26
0
Разработчик
Ответов: 4697
Рейтинг: 426
#7: 2009-11-19 19:58:05 ЛС | профиль | цитата
А вот появилась новая идея, несколько хуже в том смысле, что составляющие нестандартного компонента HiAsm будут храниться в папке с проектом и при случае что HiAsm не находит в своей базе компонента с данным именем, он ищет его составляющие в папке с проектом, сложность в том, что таскать это все будет неудобно
карма: 10
0
Ответов: 4641
Рейтинг: 334
#8: 2009-11-19 20:18:54 ЛС | профиль | цитата
Вообще забота о нестандартных компонентах должна полностью лежать на пользователе, т.к на то это и не стандартные компоненты...которые ни кто не поддерживает, они возможно не стабильны, ответственности за них ни кто не несет. Так зачем все эти сложности где и как хранить?

А вот преобразование IC в Компонент и наоборот... было бы не плохо.

------------ Дoбавленo в 20.22:
а еще определить бы папку для нестандартных компонентов и группу в палитре в которую и будут автоматически добавляться нестандартные компоненты. И все. все хорошо. Быстро и без лишних гвоздей.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)