Вверх ↑
Этот топик читают: Гость
Администрация
Ответов: 15295
Рейтинг: 1519
#16: 2006-09-28 01:08:26 ЛС | профиль | цитата
А как же попадание достаточно большого куска лишнего кода во все последующие программы Причем не зависимо от того, используется сплиттер или нет...
карма: 27
0
Ответов: 9906
Рейтинг: 351
#17: 2006-09-28 01:20:01 ЛС | профиль | цитата
Дак то же проба была...

Решаемо - как учил великий Кладов.
Делаем св-во 14-го типа, и только включенный Splitter назначит в это св-во метод, который и вызывает NewSplitterEx ( а может и просто - назначит сразу NewSplitterEx)
Вмешательство в share потребуется, чтобы определить эту константу по имени (скажем) SplitterON

Да, вот
Св-ва VisibleSp и EnableSp несколько бессысленны при отсутствии парных doVisibleSp и doEnableSp
Можно и выкинуть их безо всякого напряжения ....
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#18: 2006-09-28 01:28:58 ЛС | профиль | цитата
На этот раз соглашусь с доводами . Можно все это вносить в SVN.
карма: 27
0
Ответов: 3655
Рейтинг: 69
#19: 2006-09-28 16:52:58 ЛС | профиль | цитата
На этот раз соглашусь с доводами
Ну наконец то.
Galkov А Edit с кнопкой можешь

карма: 0

0
Ответов: 9906
Рейтинг: 351
#20: 2006-09-29 21:07:01 ЛС | профиль | цитата
Вячеслав, из этого топика видно, что все возникающие вопросы разбиваются на 3 группы:
1) Коды в win-элементах у нас выполнены по-разному - необходимо наведение единообразия
2) Spltter, будучи элементом, пытается встать, куда бог на душу положит - были предложения убрать его как бы насовсем
3) Редактор форм, таская по форме элементы с привязками - не меняет их Z-координат

Так вот: Ну наконец то - относится только к п.2

Ну а теоретически - могу, конечно...
И уж если совсем невмоготу - запихай кнопу в панель


[size=-2]------ Добавлено в 20:37
Dilma,
по поводу добавить: дело сейчас пятиминутное, но есть чисто технические вопросы:

1) коды, типа
  if Align in [caTop,caBottom] then   Height := Height - _prop_SizeSp     
  else if Align in [caLeft,caRight] then Width := Width - _prop_SizeSp;
обладают той спецификой, что рассчитаны на НЕ обработку <Редактором форм> Splitter-а. При этом у меня это выглядит, как на аттаче. Как вносить на SVN ?
2) не составляет труда onResize "перетащить" в win.pas
Типа заодно, и как логическое следствие того, что именно работающий Splitter может сотворить onResize не только у MainForm, но и у любого win-элемента
мнение на этот счет ?

3) В какие конкретно элементы добавлять св-ва Splitter-а ?

4) Ну и наконец, адекватно работать это будет только с:
ComboBox, Edit, FontBox, GProgressBar, ListBox, Memo, PageControl, Panel, ProgressBar, RichEdit, ScrollBar, ScrollBox, Splitter, StringTable, ToolBar, TrackBar, TreeView, UpDown, VisualShape

и чего будем делать с остальными:
BitBtn, Button, CheckBox, DataGrid, DriveBox, Flash, Grapher, GroupBox, Image, ImgBtn, Label, LED, MainForm, RadioButton, ScrollBarEx, TabControl, WebBrowser

Вроде бы иного варианта, кроме переноса (не тупого, конечно же) конструкторов контроллов в метод Init не просматривается.
При этом можно бы работать постепенно, внося соответствующие св-ва в INI (или еще куда) по мере переработки.
???


Ну и видимо появляется правило для разработчиков компонентов:
Всякий win-элемент должен быть наследником класса THIWin. При этом конструктор контролла должен вызываться в переопределенном методе Init, перед обязательным вызовом Init-метода предка

Возможно, для включения в раздел справки !Код_компонента!

карма: 9

0
файлы: 1SplitterCapture.rar [16.2KB] [318]
Администрация
Ответов: 15295
Рейтинг: 1519
#21: 2006-09-29 21:13:44 ЛС | профиль | цитата
1) Пока в таком же виде можно и в SVN добавлять.
2) Да можно и в win.pas перетащить.
3) Во все, где это логически может понадобиться. Очевидно, что BitBtn, Button, CheckBox и прочие это элементы где данная ф-ность нужна в очень редких случаях(для этого можно оставить элемент Splitter в виде отдельного компонента)
4) Да создание можно в init перенести

[size=-2]------ Добавлено в 21:13
Этот раздел нужно основательно переписать для начала.
карма: 27
0
Ответов: 3655
Рейтинг: 69
#22: 2006-09-29 21:37:26 ЛС | профиль | цитата
Galkov,
И уж если совсем невмоготу - запихай кнопу в панель

Можно конечно (нелюблю я кнопки нажимать[когда можно без этого обойтись] ,в одной руке мышь в другой сигарета (а чем кнопку нажать ).
Если бы ещё эту панель можно было вставить в палитру компонентов(тонкий намёк Dilma )
Ну а теоретически - могу, конечно...
Мне бы посмотреть как это делается ,я бы ещё, куда нибудь, приклеил, что нибудь.
карма: 0

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#23: 2006-09-30 08:54:45 ЛС | профиль | цитата
Galkov, Удачный revision 75. Половину моих проблем с b159_up2 решает. Ещё чуть-чуть и можно будет этим релизом пользоваться. На "сложной" схеме ошибка вылетает теперь только при закрытии программы.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 9906
Рейтинг: 351
#24: 2006-09-30 09:31:50 ЛС | профиль | цитата
Ты чего меня пугаешь
Не должно было ничего существенного внестись....
Только Splitter............
карма: 9

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#25: 2006-09-30 09:38:38 ЛС | профиль | цитата
Но не на долго помогло: удалил несколько связей, компонентов, чуть подправил и опять при запуске ERROR.

[size=-2]------ Добавлено в 09:35
Вот теперь думаю какой компонент ещё удалить или добавить чтобы заработало:?

[size=-2]------ Добавлено в 09:38
Поставил, одиноко стоящий, контрол "Message" - программа запустилась Dilma, говорит что у меня не последняя версия. Он конечно прав, но не сказал где взять последнюю. Уверен ты тоже не знаешь.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 9906
Рейтинг: 351
#26: 2006-09-30 10:01:45 ЛС | профиль | цитата
Nic, сказать точно конечно не смогу
Но, логически рассуждая, из того, что ты говоришь можно заключить лишь, что:
1) либо логическая ошибка в CodeGen - не видно пока, какая
2) либо новая система обмена данными среды с CodeGen содержит баги со стороны среды

Поймать такое, можно с пристрастием глядя в результаты работы CodeGen, наверное
А для этого нужен пример обозримых размеров, обладающий магическим св-ом реагирования на пустой Message

карма: 9

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#27: 2006-09-30 10:28:54 ЛС | профиль | цитата
Galkov, Путём убивания компонентов из схемы, нашёл зависимость пропадания ошибки при закрытии программы от наличия в схеме компонента LED
Но обязательно стоящий на дочерней панеле:

Add(ChildPanel,16482311,280,175)
{
}
BEGIN_SDK
Add(EditMulti,6791694,3,3)
{
}
Add(Panel,2300183,35,105)
{
Left=35
Top=105
Point(doColor)
}
Add(LED,4851670,14,14)
{
Left=145
Top=180
}
END_SDK

[size=-2]------ Добавлено в 10:28
Впрочем, без наличия в схеме компонент LED получить ошибку при запуске тоже не удаётся:?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 9906
Рейтинг: 351
#28: 2006-09-30 12:26:03 ЛС | профиль | цитата
Dilma писал(а):
Очевидно, что BitBtn, Button, CheckBox и прочие это элементы где данная ф-ность нужна в очень редких случаях (для этого можно оставить элемент Splitter в виде отдельного компонента)

Вот как раз Splitter, как отдельный компонент для второй группы перечисленных выше - как мертвому припарка


Nic, твое у меня без проблем
А вот такое вываливается жестко: code_355
Нельзя было бросать тему <Динамическая корректность>
карма: 9

0
файлы: 1code_355.txt [570B] [593]
Ответов: 3655
Рейтинг: 69
#29: 2006-09-30 12:31:02 ЛС | профиль | цитата
Nic, У меня твой пример Runtine error - при закрытии.
карма: 0

0
Ответов: 8926
Рейтинг: 823
#30: 2006-09-30 13:32:50 ЛС | профиль | цитата
Nic, 158, 159, 159_2 эта схема закрывается с ошибкой, а вот в 157 - без ошибки!
карма: 19

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)