21.03.2007, 12:19 | #141 |
Участник
|
Цитата:
Цитата:
Плагин — это класс, у которого есть свойство Tabax и название которого начинается на TabaxPlugin_
|
|
21.03.2007, 12:22 | #142 |
Участник
|
Но тогда с Табаксом пришлось бы параллельно распространять класс базовый. Чего и хочется избежать
Цитата:
Сообщение от belugin
Требования
Tabax должен состоянть из одной формы и больше из ничего |
|
21.03.2007, 12:30 | #143 |
Участник
|
И еще где-то кешировать найденные плагины т.к. насколько я помню по игрищам с документооборотом extendedBy() довольно медленная штуковина
|
|
21.03.2007, 13:22 | #144 |
Участник
|
Цитата:
Imho по-любому дожен быть 1) формализованный интерфейс для плагина с поддержкой версионности; 2) формализованный интерфейс для Табакса и его сервисных функций, предоставляемых плагину, с поддержкой версионности. Посмотрите на Far Manager plugin API, посмотрите на Winamp plugin API, посмотрите на COM-интерфейсы, в конце концов... |
|
21.03.2007, 13:27 | #145 |
Участник
|
|
|
21.03.2007, 13:33 | #146 |
Участник
|
Цитата:
Пока в аксапте нет пакетов, внутренних классов или делегатов я постараюсь сделать чтобы табакс было сложно случайно испортить и чтобы он занимал поменьше визуального пространства в АОТ. Я в курсе насчет плагинов в фаре, эклипсе, Trac и ... У аксапты свои ограничения, свои традиции и своя область использования и стоит это учитывать. |
|
21.03.2007, 14:14 | #147 |
Участник
|
И это пишет человек, говоривший мне об абстрактных классах и интерфейсах!
Цитата:
Пока в аксапте нет пакетов, внутренних классов или делегатов я постараюсь сделать чтобы табакс было сложно случайно испортить и чтобы он занимал поменьше визуального пространства в АОТ.
Цитата:
У аксапты свои ограничения, свои традиции и своя область использования и стоит это учитывать.
|
|
21.03.2007, 15:10 | #148 |
Участник
|
Как типичный случай рассматривается когда табакс стоит без плагинов. Для этой ситуации все оптимизируется. Табакс должен состоять из одной части: собственно форма чтобы можно было легко поставить и снести и сложно снести частично.
Специфика состоит в том, что в отличие от фара табакс стоит внутри приложения, которое используется и разрабатывается многими людьми. Представь себе что куча людей вставит сносит плагины в твой фар, при этом в папке плагинов нельзя делать подпапки - какая вероятность, что во первых, кто то снесет полплагина; во-вторых, кто-то увидит что в папке стало очень много файлов и прицепится к тебе чтоб тыэто снес? В-общем хочется чтобы табакс был маленькой утилитой, которая легко ставится и сносится. PS Кроме статических языков есть еще динамические языки в которых вообще нет контроля типов при компиляции и многие считают чтоэто хорошо PPS Правда другие считают что это type inferrence для бедных |
|
21.03.2007, 16:33 | #149 |
Участник
|
Цитата:
А лучшей иллюстрацией для авторов плагинов к Tabax было бы вынесение в плагины части его функций... Цитата:
Табакс должен состоять из одной части: собственно форма чтобы можно было легко поставить и снести и сложно снести частично.
Цитата:
Специфика состоит в том, что в отличие от фара табакс стоит внутри приложения, которое используется и разрабатывается многими людьми. Представь себе что куча людей вставит сносит плагины в твой фар, при этом в папке плагинов нельзя делать подпапки - какая вероятность, что во первых, кто то снесет полплагина
Цитата:
во-вторых, кто-то увидит что в папке стало очень много файлов и прицепится к тебе чтоб ты это снес?
Цитата:
В-общем хочется чтобы табакс был маленькой утилитой, которая легко ставится и сносится.
Цитата:
Кроме статических языков есть еще динамические языки в которых вообще нет контроля типов при компиляции
|
|
21.03.2007, 17:09 | #150 |
Участник
|
|
|
21.03.2007, 17:10 | #151 |
Участник
|
Я свои аргументы изложил, агрументы gl00mie мне понятны, но кажутся менее сущетвенными
|
|
21.03.2007, 17:51 | #152 |
Участник
|
Цитата:
X++: class test { } void test1(int _a) {; info(int2str(_a)); } void test2() {; this.test1('Гадость'); } |
|
21.03.2007, 17:54 | #153 |
Участник
|
|
|
22.03.2007, 10:44 | #154 |
Участник
|
Можно попрбовать сделать чтобы и овцы сыты и и волки целы. см раздел SDK:
http://erpkb.com/Axapta/Tabax/Plaginy |
|
22.03.2007, 11:35 | #155 |
Участник
|
Цитата:
X++: class TabaxPlugin_CopyWindowHwnd { Object tabax; int action; Hwnd hwnd; Object tabax(Object _value=tabax) { tabax=_value; if (!prmIsDefault(tabax) && tabax) { tabax.subscribe(methodStr(TabaxPlugin_CopyWindowHwnd, BeforeWindowContextMenu), this); tabax.subscribe(methodStr(TabaxPlugin_CopyWindowHwnd, AfterWindowContextMenu), this); } return tabax; } // ... } |
|
22.03.2007, 11:37 | #156 |
Участник
|
|
|
22.03.2007, 11:43 | #157 |
Участник
|
|
|
22.03.2007, 13:01 | #158 |
Участник
|
Первый реальный плагин на основе нового SDK
Плагин - открывает объект в АОТ
(функционал взят из http://www.axaptapedia.com/Editor_scripts_OpenInAOT) Для использования в поле для ввода пишем, к примеру X++: go InventTable |
|
22.03.2007, 13:27 | #159 |
Участник
|
Может кто-нибудь проверить на медленной машине, тормозит ли
X++: static void Job25(Args _args) { SysDictClass plug = new SysDictClass(classNum(TabaxPluginBase)); ; info(int2str(plug.extendedBy().elements())); } |
|
22.03.2007, 13:30 | #160 |
Участник
|
Цитата:
Этот - ну, секунды 4 выполнялся, хотя машинка моя не такая уж и медленная. |
|
|
За это сообщение автора поблагодарили: belugin (15). |
Теги |
tabax, taskbar, toolbar, инструменты, панель задач, панель инструментов, полезное, табакс, тулбар, управление окнами |
|
|