Вверх ↑
Этот топик читают: Гость
Ответов: 1173
Рейтинг: 49
#301: 2012-06-16 11:57:36 ЛС | профиль | цитата
nesco писал(а):
И что тебя там так сильно впечатлил
Возможности визуальных контролов
nesco писал(а):
Там уймы нет того, что есть в стандартном пакете
Ну, конечно! Стандартный пакет развивается с начала создания HiAsm, а C.NET не так-то и давно появился.
nesco писал(а):
основной, на данный момент, пакет можно без проблем элементизировать еще компонентов на 500
Никто и не спорит.
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#302: 2012-06-16 12:48:33 ЛС | профиль | цитата
Nic писал(а):
Пока никто не сделал - видимо, все только и будут, что на форум писать об этом - так ведь проще

Да, проще. Если бы я знал С, я бы давно уже написал кучу всего. А учить его у меня нет никакого желания и времени, впрочем, как и RTCG тоже. К тому же, концепция двойного программирования мне изначально не нравилась, еще на этапе ее создания.
Nic писал(а):
А очень похоже

Каждый видит только то, что хочет. Что-то я стал замечать за тобой неадекватное отношение к любой попытке что-то высказать в сторону CNET
Nic писал(а):
Это просто:

Я про ошибку спрашивал, а не про инсталлятор.
карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#303: 2012-06-17 10:13:52 ЛС | профиль | цитата
nesco писал(а):
Что-то я стал замечать за тобой неадекватное отношение к любой попытке что-то высказать в сторону CNET

nesco писал(а):
Каждый видит только то, что хочет

nesco писал(а):
Я про ошибку спрашивал

Очень странная ошибка, говорящая о том, что после открытия базы hiasm.db не прошел запрос к таблице packs.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
файлы: 1cnet_install.sha [33.7KB] [350]
Ответов: 1841
Рейтинг: 369
#304: 2012-07-05 13:47:33 ЛС | профиль | цитата
Обнаружил очень хитрую ошибку в последнем билде RTCG...
Т.к. в CNET не реализовано изменение z-порядка контролов (передний/задний план), то воспроизвести в пакете CNET его не выйдет...

Расширенное описание структуры тестового пакета:
hiSys.hws:
func create(entry)
 gvar(blk_gadget)
//blk_gadget = block.reggen()
end

hiProject.hws (EntryPoint); Class: WinElement
func doStart()
 this.parent.initall()
end

hiOpenWindow.hws; Class: MultiElementEx; Sub: MainForm
func init
 this.parent.initall_sdk()
end

hiMainForm.hws; Class: WinElement
func init()
 blk_gadget = block.reggen()

this.parent.initall()
trace(blk_gadget.ascode())
end

hiButton.hws; Class: WinElement
func init()
 blk_gadget.println('name:button; id:', this.id, '; text:', this.props("Text"), ';')
end
Порядок действий с элементами такой:
1) Добавляем визуальный контейнер OpenWindow.
2) Добавляем в контейнер 2 элемента Button.
3) Компилируем и получаем в отладке:
name:button; id:5; text:"1";
name:button; id:6; text:"2";
4) Изменяем z-порядок одного из элементов Button (Обязательно выбрать "Задний план") 5) Компилируем и смотрим отладку:
name:button; id:6; text:"1";
Т.е. как видим, кодоген проглотил данные элемента который был перемещён на задний план.
Причём замечу, что, в случае единичной регистрации блока blk_gadget именно в системном модуле hiSys.hws, данной ошибки не возникает...


Так же специально для этого случая, подготовил специальную сборку HiAsm, с минимальным к-вом пакетов (2) и тестовых элементов (5) представленных выше (компилятор пустышка - cmd).

Схема описанная выше, и наглядно демонстрирующая ошибку (только для для спец. сборки):
code_28407.txt
Собственно сама сборка (portable+7z): Скачать HiAsm_RTCG_bug.7z (2 мб)

p.s. Вот как-то так...
------------ Дoбавленo в 13.47:
Ещё один баг-репорт.
block.delete(<name>) - работает не корректно (точнее вообще не работает).

Выполнив следующий код:
blk_test = block.reggen()
blk_test.print('TestStr')

trace('status_block_delete: ' && block.delete(blk_test))
trace('block_link: ' && blk_test)
trace('block_begin:' && blk_test.ascode() && ':block_end')
Кодоген вернёт нам следующий результат:
status_block_delete: 1
block_link: block_1
block_begin:TestStr:block_end
карма: 1
1
файлы: 1code_28407.txt [478B] [354]
Голосовали:ser_davkin
Главный модератор
Ответов: 2999
Рейтинг: 396
#305: 2012-07-05 15:11:41 ЛС | профиль | цитата
CriDos писал(а):
в CNET не реализовано изменение z-порядка контролов (передний/задний план...


Не соответствует действительности или не полностью раскрыт смысл данного утверждения.
------------ Дoбавленo в 15.11:
CriDos писал(а):
Т.е. как видим, кодоген проглотил данные элемента который был перемещён на задний план.


Кодогенератор ничего не "глотал". Вы сами, перещением компонента на задний план, изменяете порядок инициализации,
при котором инициализация одной из кнопок происходит до регистрации блока. Поэтому его объявление в SYS не вызывает ошибки.

карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
1
Голосовали:CriDos
Ответов: 1841
Рейтинг: 369
#306: 2012-07-05 17:14:25 ЛС | профиль | цитата
Nic, действительно реализовано, извиняюсь.
Вот из-за этого я решил что z-порядок не реализован:

Ошибка-->


------------ Дoбавленo в 15.58:
Nic писал(а):
при котором инициализация одной из кнопок происходит до регистрации блока

А я решил что после выполнения метода initall(), инициализируются все элементы (init) расположенные в контейнере...
Т.к. у меня сначала происходит регистрация блока и только потом, выполняется initall()
wiki писал(а):
Инициализирует все элементы текущего контейнера, которые еще не участвовали в процессе кодогенерации (необходимо для элементов, которые ни с чем не связаны)

------------ Дoбавленo в 17.14:
элемент_контейнер{
this.parent.initall_sdk()
{
кнопка3 (в случае инициализации добавляем в блок "test", строку "кнопка3"; выбран "Задний план')
окно (регистрация блока "test"; this.parent.initall())
кнопка1 (в случае инициализации добавляем в блок "test", строку "кнопка1")
кнопка2 (в случае инициализации добавляем в блок "test", строку "кнопка2")
}
}
после выполнения получаем в результате:
кнопка1
кнопка2
т.е. получается что у нас инициализируются только те элементы, которые находятся ниже позиции элемента инициализатора в текущем контейнере?
карма: 1
0
Ответов: 758
Рейтинг: 112
#307: 2012-07-05 17:18:23 ЛС | профиль | цитата
CriDos, это не ошибка это фича такая
Я тебе приведу еще один пример
Если в hiSys объявить функцию, то к ней можно обратится только ниже по тексту
карма: 1

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#308: 2012-07-05 17:35:09 ЛС | профиль | цитата
Реализация визуальных контейнеров отдана на "откуп" разработчику что в FTCG, что в RTCG.
Посмотрите как сделано в CNET, если придумаете как сделать проще - потомки будут Вам благодарны!
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 1841
Рейтинг: 369
#309: 2012-07-05 17:44:18 ЛС | профиль | цитата
miver писал(а):
Если в hiSys объявить функцию, то к ней можно обратится только ниже по тексту

про это знаю

p.s. В любом случае, решение я уже нашёл, производить регистрацию блока в самом контейнере, перед вызовом this.parent.initall_sdk()
карма: 1
0
Ответов: 758
Рейтинг: 112
#310: 2012-07-05 17:44:53 ЛС | профиль | цитата
Nic, можешь сказать, что там с исправлением ошибки считывания свойства с типом "4"
тут обсуждалось
карма: 1

0
Ответов: 1841
Рейтинг: 369
#311: 2012-07-05 17:46:09 ЛС | профиль | цитата
miver писал(а):
Если в hiSys объявить функцию, то к ней можно обратится только ниже по тексту

тут смотря как к ней обращаться, если как к локальной функции, то да, а если же указывать sys.имя_функции(траляля), то из любой позиции
карма: 1
1
Голосовали:miver
Главный модератор
Ответов: 2999
Рейтинг: 396
#312: 2012-07-05 19:52:13 ЛС | профиль | цитата
miver писал(а):
что там с исправлением ошибки считывания свойства с типом "4"


Было исправлено, а самому проверить?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
1
Голосовали:miver
Ответов: 758
Рейтинг: 112
#313: 2012-07-06 09:53:23 ЛС | профиль | цитата
Nic писал(а):
Было исправлено, а самому проверить?

Я регулярно обновляю CodeGen.dll, но ошибка остается
Или нужно еще что-то обновить
Да и когда было исправлено
------------ Дoбавленo в 09.53:
Сегодня обновил CodeGen.dll, вроде полет нормальный
карма: 1

0
Ответов: 1841
Рейтинг: 369
#314: 2012-07-06 10:30:03 ЛС | профиль | цитата
Я кстати пошёл по другому пути, при работе с типами данных

//начало_=============Инициализация основных типов данных=============_начало 

//Объявление переменных для выбранных типов данных
gvar(_i,_s,_f,_b,_l,_d)

//Присвоение переменным значения соответствующего его типу данных
_i = 1 // integer: x86 - 4 байта (32 бита), -2147483648 to +2147483647
_s = 2 // string: Длина строки + 1 байт, нет лимита.
_f = 3 // float: 4 байта (32 бита), нез лимита.
_b = 4 // byte: 1 байт (8 бит), -128 to +127
_l = 5 // long: 4 байта (32 бита), -2147483648 to +2147483647
_d = 6 // double: 8 байт (64 бита), в зависимости от соотношения целой и дробной части числа.

//Добавляем в общий массив типов данных, выбранные типы данных
g_array_type.add(_s,_i,_s,_f,_b,_l,_d)

//Регистрация основных типов данных
register(1, int)
register(2, str)
register(3, float)
register(4, byte)
register(5, long)
register(6, double)

//конец_=============Инициализация основных типов данных=============_конец
Очень удобно, и вероятность ошибиться или забыть цифру обозначения типа, равна нулю.
Да и в случае чего, всегда можно быстро изменить значения типов
карма: 1
0
Главный модератор
Ответов: 2999
Рейтинг: 396
#315: 2012-07-08 11:57:01 ЛС | профиль | цитата
CNET пакет инсталлятор представляет вкладку палитры компонентов Adobe, которая содержит компоненты обращения к популярным продуктам этой компании:
  • Photoshop
  • Indesign
  • Acrobat как OLE серверам. Пока умеет не много, но очень распространенные операции:
  • Открыть документ
  • Создать документ
  • Сохранить
  • Export в другой формат и некоторые другие возможности
    Для работы требуется установленный Adobe CS5 или 5.5. Работа с более ранними версиями не гарантируется (хотя может быть и возможна).
  • карма: 6
    Дорогу осилит идущий. Install/Update HiAsm.NET
    5
    Голосовали:Ex_, 1nd1g0, Cosinus, iarspider, miver
    Сообщение
    ...
    Прикрепленные файлы
    (файлы не залиты)