Не удаться получить событие при смене страниц. Не работает ни один: onShow...onMouseDown, onKillFocus, onSetFocus... короче все "on..."
Сейчас приходиться выходить из положения так: заводить ##index на ##select и сделать какие либо действия на выбранной странице, допустим сделать копирование в текстовом редакторе, который находиться на этой странице, или напечатать пробел. Это очень неудобно.
Схему приводить не буду, очень большая, но думаю и так понятно.
Это действительно так, что эти функции не работают (я их не нашел в коде компонента), или руки кривые?
Если руки кривые, покажите примерчик. Заранее благодарен.
Этот топик читают: Гость
Ответов: 2059
Рейтинг: 132
|
|||
карма: 6 |
|
Ответов: 1173
Рейтинг: 49
|
|||
Вероятно, ошиблись темой? В пакет Delphi Windows хотели? Если так, присоединяюсь к вопросу, так как на мой никто не ответил
|
|||
карма: 0 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Да, наверное ошибся.
Да, я Ваше сообщение видел. И что без ответа, тоже видел, наверно поэтому и написал. У меня большие подозрения, что компонент "не доделанный". |
|||
карма: 6 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Ex_, схемку бы
|
|||
карма: 25 |
|
Ответов: 1173
Рейтинг: 49
|
|||
Tad писал(а): схемку быcode_28616.txt А с "внешней" и не подключишь ведь (и как я тогда подключил ) -- Runtime ошибки вываливаются. |
|||
карма: 0 |
| ||
файлы: 1 | code_28616.txt [432B] [478] |
Ответов: 2059
Рейтинг: 132
|
|||
Боюсь, что схемка не заработает.
В программе несколько dll (не маленьких) + бинарники по 2мега, которые тоже подгружаются. Выдирать сейчас всё, атам сильно всё завязано, займёт много времени. В общем то с коллегой Ex_ задачи одинаковые. Какие либо схемные костыли боюсь не подойдут. Единственное, что нужно, генерация события при смене страниц. Можно зацепиться за смену индекса (только без таймера), но как? |
|||
карма: 6 |
|
Ответов: 1535
Рейтинг: 176
|
|||
flint2, а, что с TabControl, совсем нельзя воспользоваться? Почему именно PageControl?
|
|||
карма: 1 |
|
Ответов: 2059
Рейтинг: 132
|
|||
ser_davkin
Я за два месяца уже всё перепробовал. С этого вроде бы и начал. Концепция программы предполагает именно этот вариант. Страниц может быть до полусотни (на практике десятка два) и появляются и уничтожаются динамически. Есть еще одна заморочка, когда открыты дочерние окна, при переходе на другую страницу главная форма теряет фокус и уже не реагирует уже ни на что. Может я чего то не так делаю, но это уже к элементу не относиться. Нашел решение - через МТ потоки и разместил "глючеые" части схемы внутри. Но теперь много памяти расходуется. Хотелось бы при одном дочернем окне (не модальное) главной формы переходить на любые вкладки. Тут с МТ потоками по шаманить надо. Даже были варианты, что всё работало, но опять не хватает события от вкладки. В общем из за этого всё с подвыподвертом получается. В Дельфи вроде бы всё работает (макетные куски), но переходить на Дельфи7 или на другой язык... Легче всё забросить. |
|||
карма: 6 |
|
Ответов: 4641
Рейтинг: 334
|
|||
для чего нужно событие? onShow...onMouseDown, onKillFocus, onSetFocus не проходят, но так ли они нужны ??? может достаточно знать какая в данный момент активна страница?
|
|||
карма: 1 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Ravilr
может достаточно знать какая в данный момент активна страница? В общем то да, как следствие. Это можно прочитать ##index. Но как это мониторить. Не таймер же ставить, хотя и он не поможет в силу своей дискретности. Должна же быть причина - событие, по которой и читается номер страницы. Мы же не дежурим у входной двери ожидая гостей, а слушаем звонок. Можно получать события из других элементов схемы, но этого далеко не достаточно. Щелкнули мышкой по другой вкладке и не чего ни произошло. Мониторить мышку? Мы говорим не про то, что но так ли они нужны ??? и как это обойти, а то что это не правильно и не должно так быть по логике вещей.Событие по смене вкладок, это главное свойство такого элемента. Без этого свойства элемент имеет весьма ограниченное применение, а учитывая то обстоятельство, что подобные элементы (TabControl и TabControlEx)не могут его заменить в полной мере, то и сужается круг задач, которые вполне можно было бы решить Hiasm`ом. Скажу я пару слов без протокола: Для сложных "вычислений" или написания PE заголовка, или где нужна скорость, я делаю dll, а окошки на HiAsme. Правда тоже столкнулся в одной реализации языка с такой штукой, в таблицу импорта не прописывались сторонние dll а только винды. Для ХР не страшно, а на семерке не идёт. Потерял кучу времени. Если элемент есть, то должен работать, как часы. Понятно, что всё на чистом энтузиазме - честь и хвала. Но думаю явные пробелы надо править, а не думать, как их обойти. |
|||
карма: 6 |
|
Ответов: 4641
Рейтинг: 334
|
|||
для каких то задач можно использовать onMouseEnter
а так да, событие при переключении страницы не помешало бы. |
|||
карма: 1 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Почти так и делаю.
Но это костыли. onKillFocus по моему тоже не работает. Проверить не могу, не со своей машины пишу. По памяти не работает. Мне кажется тут проблема глубже. Некоторые вещи в IC из Дельфи или наработок на Паскале с пол пинка идут, в других надо KOL сносить. Тогда только заработает. А так, казалось бы, переноси код из дельфи ивсё. По коду можно понять, что элемент не доделан, потому что где то в ядре дыра без заплатки. А за советы спасибо! |
|||
карма: 6 |
|
Разработчик
Ответов: 26149
Рейтинг: 2127
|
|||
flint2 писал(а): Но думаю явные пробелы надо правитьВот и нафиг бы оно мне было надо (если бы я и был даже автором этого компонента), если через год, может через два, весь этот пакет полетит коту под хвост. Мне, лично, жаль бы было своего времени |
|||
карма: 22 |
|
Ответов: 1173
Рейтинг: 49
|
|||
nesco писал(а): через год, может через два, весь этот пакет полетит коту под хвост |
|||
карма: 0 |
|
Разработчик
Ответов: 26149
Рейтинг: 2127
|
|||
Ex_ писал(а): Почему? Думаете, так скоро у всех пропадёт интерес к HiAsm?Нет, не потому. Выйдет HiAsm 5, и пакета Windows, в том виде, как он есть сейчас, уже не будет. Все надо писать с нуля под скриптовый яхык RTCG, уже на другой библиотеке. А основным там планируется вообще CNet, какой смысл вообще что-то мутить с Дельфями |
|||
карма: 22 |
| ||
Голосовали: | Ex_ |