Вверх ↑
Этот топик читают: Гость
Ответов: 262
Рейтинг: 6
#1: 2009-07-15 11:02:08 ЛС | профиль | цитата
Эксперимент написания элемента с обработчиком выявил пару ошибок:
1. в обработчике. элемент hcTplComboBox, установлено св-во DataType=String. При вызове обработчика, попытка выбора строки из списка вызывает "Access violation ..."
2. Если в элементе DPLElement вешать обработчик на на свойство содержащее список имен точек -

[Type]
Class=DPLElement
Sub=,,,MyPoint

[Handlers]
PtInit=MyPoint

[Property]
MyPoint=Список точек|5|
то при изменении списка точек и закрытии обработчика, свойство MyPoint содержит верные данные, а вот сам элемент не обновляется. т.е. было в MyPoint 4 строки, я открыл обработчик, удалил одну строку, закрыл обработчик. А сам элемент как был с четырьмя точками так и остался. Обновление же происходит только при сохранении-закрытии-открытии схемы.
карма: 0

1
Голосовали:Administrator
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2009-07-15 11:22:42 ЛС | профиль | цитата
эти ошибки связаны с отсутствием поддержки данных типов свойств.
------------ Дoбавленo в 11.25:
HiAsm Help писал(а):
На данный момент пользовательский обработчик может быть назначен только свойствам с типом Integer, String, Real или StrList.

StrList поддерживается только без привязки к точкам видимо
карма: 27
0
Ответов: 262
Рейтинг: 6
#3: 2009-07-15 11:35:43 ЛС | профиль | цитата
Dilma, 1. по моему просто ошибка. hcTplListbox при тех же параметрах выбор строки не вызывает ошибку.
2.
WIKI писал(а):
На данный момент пользовательский обработчик может быть назначен только свойствам с типом Integer, String, Real или StrList.

а MyPoint в этом случае тип 5
WIKI писал(а):
5 - StrList - Список строк

Вся информация из одной статьи. Отсюда и вопросы. Скорее просто не обрабатывается событие изменения MyPoint при закрытии "стороннего" обработчика.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2009-07-15 11:46:45 ЛС | профиль | цитата
Chesh, посмотреть это все получится только вечером. Приложи еще обработчики сразу, на которых опыты велись.
карма: 27
0
Ответов: 262
Рейтинг: 6
#5: 2009-07-15 15:51:43 ЛС | профиль | цитата
Dilma, Ок.
карма: 0

0
файлы: 1handlersErr.rar [2KB] [375]
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2009-07-16 00:31:17 ЛС | профиль | цитата
обе ошибки исправлены
карма: 27
0
Ответов: 262
Рейтинг: 6
#7: 2009-07-19 09:18:22 ЛС | профиль | цитата
Dilma, еще в добавление к найденным:
3. hcTplListBox. в Ini файле отсутствует описание метода doSelectByIndex. Копирование из Ini hcTplComboBox 100% исправляет ситуацию. Обновить сам на svn не могу, давно не был и cheshko убили
4. hcStrList - не работает метод doInsert.
5. hcTplMemo - нет точки Array, хотя есть Count. Добавление описания в Ini не помогает.
6. hcHiAsmTrasmitter ( пропущена буква 'n' ) Передает в обработчик только первый аргумент Arg1, а все последующие hcMTGet возвращает пустыми. т.е при описании

[Handlers]
MyEdit=Prop1, Prop2, Prop3
в обработчик попадает только Prop1. (возможно я не правильно понял логику его работы)

и отвлеченный вопрос - а почему core.dpr существует как то отдельно от пакета _base и код всех элементов внутри? По логике HiAsm-а в _base должна быть папка code, в ней все коды элементов отдельными .pas файлами, а некий CodeGen собирал бы Core.dpr
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#8: 2009-09-19 13:37:10 ЛС | профиль | цитата
3-5 добавлено
6. необходимо убрать пробелы перед именами свойств
карма: 27
0
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)