Вверх ↑
Этот топик читают: Гость
Администрация
Ответов: 15294
Рейтинг: 1518
#1: 2009-04-08 00:28:18 ЛС | профиль | цитата
   Собственно новая она для пользователя, потому что именно на такое поведение и была расчитано данная технология. Теперь о том, какие изменения в его работе произошли

Наследование родительского контрола
   Данное изменение касается только интерфесных полиморфов (панели, формы, вкладки и проч.). Теперь все наследники базового класса(с имененм base) не создают собственный элемент управления, а наследуют его от родителя. Из этого вытекают две новые особенности работы интерфейсного полиморфа:
- все незаданные свойства дочернего контрола инициализируются свойствами базового контрола
- все неслинкованные точки Event и Data дочернего контрола линкуются с соответствующими точками базового контрола (если таковые заданы)

к рассмотрению предлагается пример ниже
code_12639.txt

- тут первую особенность можно увидеть на примере свойств Color и Caption - так зеленый цвет, заданный у базового контрола был унаследован всеми дочерними панелями, а текст надписи "test" был унаследован только классом p2, класс же p1 переопределил это свойство на "other caption"
- вторую особенность можно увидеть, если покликать в области панелей - у панелей классов base и p1 выводится сообщение "hello from base", в то время как у переопределенного события из панели класса p2 выводится "hello from p2"

доступ к унаследованным элементам полиморфа
   Эта возможность присутствует у всех полиморфов. Ее использование связано с новым элементом среды PolyGate. Если коротко, то данный элемент позволяет вызывать методы базового класса или использовать данные из базового класса. Рассмотрим пример:
code_12640.txt

в примере в классах p1 и p2 размещены кнопки, которые при клике на них отправляют текстовое сообщение в базовый класс, который в свою очередь выводит это сообщение на экран в диалоговом окне.

вместо итога
   Ввиду всего выше изложенного интересно ваше представление и понимание технологии, как пользователей не знакомых с внутренним устройством описанных механизмов (кто не в курсе - полиморфы это переложение классического ООП в рамки концепции HiAsm).
карма: 26
1
файлы: 2code_12639.txt [1.5KB] [430], code_12640.txt [1.8KB] [417]
Голосовали:Konst
vip
#1.1контекстная реклама от партнеров
Разработчик
Ответов: 26061
Рейтинг: 2120
#2: 2009-04-08 01:37:09 ЛС | профиль | цитата
Dilma, а ты точно все обновления выложил, а то у меня PolyGate не запускается, пишит

Element name PolyGate not found
Обновлены с SVN следующие файлы


CodeGen.dpr
Elements.sql
hiTreeViewTrain.pas
hiWebBrowser.pas
PolyGate.ico
PolyGate.ini
TreeViewTrain.ini
WebBrowser.ini
Скомпилирован CodeGen.dpr и обновлен HiAsm до


Список фиксингов

19:14 06.04.2009

- fix: улучшен алгоритм загрузки слинкованных контейнеров, который более не зависит от типа родительского контейнера
карма: 22

0
Ответов: 1328
Рейтинг: 69
#3: 2009-04-08 05:21:51 ЛС | профиль | цитата
nesco писал(а):
Dilma, а ты точно все обновления выложил, а то у меня PolyGate не запускается, пишит

У тоже и при удалении PolyGate - Access violation

карма: 2

0
Администрация
Ответов: 15294
Рейтинг: 1518
#4: 2009-04-08 11:30:29 ЛС | профиль | цитата
nesco писал(а):
обновлен HiAsm до

обновление среды требуется последнее от 23:09 07.04.2009
карма: 26
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#5: 2009-04-08 11:40:38 ЛС | профиль | цитата
Только что запустил, дата последнего обновления -- 19:14 06.04.2009. Так что проверь, может не выложился
карма: 22

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#6: 2009-04-08 11:46:41 ЛС | профиль | цитата

карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
файлы: 1svn_today.png [7.4KB] [488]
Администрация
Ответов: 15294
Рейтинг: 1518
#7: 2009-04-08 11:46:50 ЛС | профиль | цитата
да точно - описать описал, а вот отправить не отправил
карма: 26
0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)