Тема: Глюки ObjectDCL

Ну вот свадьба состоялась. Правда со второго раза...
Ребятам из ихнего Support пришлось отослать мне новый ObjectDCL.arx. При вставке в форму TextBox, она намертво подвешивала CAD. Новый файл примерно на 60Kb больше размером работает. Но есть по моему некоторые баги. Вот в этом я и хочу разобраться прежде чем писать им о них. Если здесь не один человек, пользуеться этой штукой, посоветуйте. Кстати даже при наличии багов DCL и ObjectDCL - это небо и земля!
1) Возникает сообщение об ошибке и диалог повторно не открываеться если менять в программе менять положение элементов (любых). Код:

(Odcl_Control_SetProperty XXXXXXX "Top" NewValue [is a Long])

При изменении других свойств, например Visible, все нормально.
2) Касаеться OptionList.  В справке Object Browser сказано:
The Property: DefaultSelection
Sets the default selection in the OptionList control. Use the SetCurSel method at run time to change the selected button.
Note: This property is a design time property and cannot be set using AutoLisp.
Ну не меняеться ЛИСПОМ и бог с ним. Странно другое, у остальных элементов в течении одного сеанса работы сохраняються последние введенные значения. А когда повторно вызываешь форму с OptionList, она каждый раз вызываеться со значением свойства DefaultSelection. Ну не каждый же раз все опции переставлять? Я думаю что это БАГ! А вы (или в единственном числе). Или я до чего то еще не додумал?

Re: Глюки ObjectDCL

Второй баг отменяеться, про это написано, что так и есть. Проще применять одиночнае Options которые тоже имеються.

Re: Глюки ObjectDCL

> Fantomas
(Odcl_Control_SetProperty XXXXXXX "Top" NewValue [is a Long])
Я не понял, что не работает? Какое конкретно свойство ты изменяешь с помощью Odcl_Control_SetProperty, которое ты зашифровал как XXXXXX?
Попытаюсь догадаться по тексту: Значение "Top" есть у свойства DockableSides в DockableForm, но в Object Browser четко написано, что This property is a design time property and cannot be set using AutoLisp.
Если ты хочешь менять положение элементов диалога в окне, то откуда взялось свойство "Top"? Это же не DCL?
В ObjectDCL положение всех элементов при изменении размеров модального или Dockable окна задается визуально на закладке Properties соответствующего элемента диалога.
А для програмного изменения есть свойства BottomFromBottom, LeftFromRight, RightFromRight, TopFromBottom. Они у меня прекрасно работают, хотя мне достаточно настроек с закладки Properties.

Re: Глюки ObjectDCL

Fantomas, извини.
Я написал глупость в предыдущем ответе. Сам не понял твой вопрос и ниаехал :)
Свойсто Top действительно есть и оно задает верхнюю границу элемента диалога, но у меня все работает. Возможно, что у тебя получается неправильное сочетание свойств Top, Height, TopFromBottom и TopFromBottom. Эта группа значений должна быть логически совместима.
Поэтому я рекомендую пользоваться закладкой Geometry, (которую я в прошлом сообщеннии ошибочно назвал Properties), так как на ней задается логика взаимодействия целой группы геометрических свойств. Еще раз извиняюсь.

Re: Глюки ObjectDCL

Спасибо Олег. С геометрией уже разобрался. А "top" действительно глючит. Диалог в первый раз открываеться и все переезжает туда куда нужно, но при повторном открытии, (если свойство "Тоp" при закрытии осталось измененным) он больше не открываеться. Так что небольшой баг все таки есть. Буду пользоваться свойствами которые рекомендовали вы. Мне просто Label и TextBox нужно было при изменении опций чуть, чуть вверх подвинуть, вот и наткнулся на эту ерунду.