Вверх ↑
Этот топик читают: Гость
Ответов: 2059
Рейтинг: 132
#1: 2012-07-27 16:11:38 ЛС | профиль | цитата
Не удаться получить событие при смене страниц. Не работает ни один: onShow...onMouseDown, onKillFocus, onSetFocus... короче все "on..."
Сейчас приходиться выходить из положения так: заводить ##index на ##select и сделать какие либо действия на выбранной странице, допустим сделать копирование в текстовом редакторе, который находиться на этой странице, или напечатать пробел. Это очень неудобно.
Схему приводить не буду, очень большая, но думаю и так понятно.
Это действительно так, что эти функции не работают (я их не нашел в коде компонента), или руки кривые?
Если руки кривые, покажите примерчик. Заранее благодарен.
карма: 6

0
Ответов: 1173
Рейтинг: 49
#2: 2012-07-27 16:21:51 ЛС | профиль | цитата
Вероятно, ошиблись темой? В пакет Delphi Windows хотели? Если так, присоединяюсь к вопросу, так как на мой никто не ответил
карма: 0

0
Ответов: 2059
Рейтинг: 132
#3: 2012-07-27 16:56:42 ЛС | профиль | цитата
Да, наверное ошибся.
Да, я Ваше сообщение видел.
И что без ответа, тоже видел, наверно поэтому и написал.
У меня большие подозрения, что компонент "не доделанный".

карма: 6

0
Ответов: 16884
Рейтинг: 1239
#4: 2012-07-27 19:30:20 ЛС | профиль | цитата
Ex_, схемку бы
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1173
Рейтинг: 49
#5: 2012-07-27 19:56:37 ЛС | профиль | цитата
Tad писал(а):
схемку бы
С "внутренней" -- вот:
code_28616.txt
А с "внешней" и не подключишь ведь (и как я тогда подключил ) -- Runtime ошибки вываливаются.
карма: 0

0
файлы: 1code_28616.txt [432B] [478]
Ответов: 2059
Рейтинг: 132
#6: 2012-07-27 20:20:52 ЛС | профиль | цитата
Боюсь, что схемка не заработает.
В программе несколько dll (не маленьких) + бинарники по 2мега, которые тоже подгружаются.
Выдирать сейчас всё, атам сильно всё завязано, займёт много времени.
В общем то с коллегой Ex_ задачи одинаковые.
Какие либо схемные костыли боюсь не подойдут.
Единственное, что нужно, генерация события при смене страниц.
Можно зацепиться за смену индекса (только без таймера), но как?

карма: 6

0
Ответов: 1535
Рейтинг: 176
#7: 2012-07-28 16:29:47 ЛС | профиль | цитата
flint2, а, что с TabControl, совсем нельзя воспользоваться? Почему именно PageControl?
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 2059
Рейтинг: 132
#8: 2012-07-28 19:25:05 ЛС | профиль | цитата
ser_davkin
Я за два месяца уже всё перепробовал.
С этого вроде бы и начал.
Концепция программы предполагает именно этот вариант.
Страниц может быть до полусотни (на практике десятка два) и появляются и уничтожаются динамически.
Есть еще одна заморочка, когда открыты дочерние окна, при переходе на другую страницу главная форма теряет фокус и уже не реагирует уже ни на что.
Может я чего то не так делаю, но это уже к элементу не относиться.
Нашел решение - через МТ потоки и разместил "глючеые" части схемы внутри. Но теперь много памяти расходуется.
Хотелось бы при одном дочернем окне (не модальное) главной формы переходить на любые вкладки. Тут с МТ потоками по шаманить надо.
Даже были варианты, что всё работало, но опять не хватает события от вкладки.
В общем из за этого всё с подвыподвертом получается.
В Дельфи вроде бы всё работает (макетные куски), но переходить на Дельфи7 или на другой язык...
Легче всё забросить.
карма: 6

0
Ответов: 4641
Рейтинг: 334
#9: 2012-07-28 21:29:30 ЛС | профиль | цитата
для чего нужно событие? onShow...onMouseDown, onKillFocus, onSetFocus не проходят, но так ли они нужны ??? может достаточно знать какая в данный момент активна страница?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 2059
Рейтинг: 132
#10: 2012-07-28 23:05:38 ЛС | профиль | цитата
Ravilr
может достаточно знать какая в данный момент активна страница?

В общем то да, как следствие.
Это можно прочитать ##index.
Но как это мониторить. Не таймер же ставить, хотя и он не поможет в силу своей дискретности.
Должна же быть причина - событие, по которой и читается номер страницы.
Мы же не дежурим у входной двери ожидая гостей, а слушаем звонок.
Можно получать события из других элементов схемы, но этого далеко не достаточно.
Щелкнули мышкой по другой вкладке и не чего ни произошло.
Мониторить мышку?
Мы говорим не про то, что
но так ли они нужны ???
и как это обойти, а то что это не правильно и не должно так быть по логике вещей.
Событие по смене вкладок, это главное свойство такого элемента.
Без этого свойства элемент имеет весьма ограниченное применение, а учитывая то обстоятельство, что подобные элементы (TabControl и TabControlEx)не могут его заменить в полной мере,
то и сужается круг задач, которые вполне можно было бы решить Hiasm`ом.
Скажу я пару слов без протокола:
Для сложных "вычислений" или написания PE заголовка, или где нужна скорость, я делаю dll, а окошки на HiAsme.
Правда тоже столкнулся в одной реализации языка с такой штукой, в таблицу импорта не прописывались сторонние dll а только винды.
Для ХР не страшно, а на семерке не идёт. Потерял кучу времени.
Если элемент есть, то должен работать, как часы.
Понятно, что всё на чистом энтузиазме - честь и хвала.
Но думаю явные пробелы надо править, а не думать, как их обойти.

карма: 6

0
Ответов: 4641
Рейтинг: 334
#11: 2012-07-28 23:39:23 ЛС | профиль | цитата
для каких то задач можно использовать onMouseEnter
а так да, событие при переключении страницы не помешало бы.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 2059
Рейтинг: 132
#12: 2012-07-29 00:03:30 ЛС | профиль | цитата
Почти так и делаю.
Но это костыли.
onKillFocus по моему тоже не работает.
Проверить не могу, не со своей машины пишу. По памяти не работает.
Мне кажется тут проблема глубже.
Некоторые вещи в IC из Дельфи или наработок на Паскале с пол пинка идут, в других надо KOL сносить.
Тогда только заработает. А так, казалось бы, переноси код из дельфи ивсё.
По коду можно понять, что элемент не доделан, потому что где то в ядре дыра без заплатки.
А за советы спасибо!
карма: 6

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#13: 2012-07-29 01:44:44 ЛС | профиль | цитата
flint2 писал(а):
Но думаю явные пробелы надо править

Вот и нафиг бы оно мне было надо (если бы я и был даже автором этого компонента), если через год, может через два, весь этот пакет полетит коту под хвост. Мне, лично, жаль бы было своего времени
карма: 22

0
Ответов: 1173
Рейтинг: 49
#14: 2012-07-29 01:47:30 ЛС | профиль | цитата
nesco писал(а):
через год, может через два, весь этот пакет полетит коту под хвост
Почему? Думаете, так скоро у всех пропадёт интерес к HiAsm?
карма: 0

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#15: 2012-07-29 01:51:30 ЛС | профиль | цитата
Ex_ писал(а):
Почему? Думаете, так скоро у всех пропадёт интерес к HiAsm?

Нет, не потому. Выйдет HiAsm 5, и пакета Windows, в том виде, как он есть сейчас, уже не будет. Все надо писать с нуля под скриптовый яхык RTCG, уже на другой библиотеке. А основным там планируется вообще CNet, какой смысл вообще что-то мутить с Дельфями
карма: 22

1
Голосовали:Ex_
Сообщение
...
Прикрепленные файлы
(файлы не залиты)