![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
EKoshelev |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 509 Регистрация: 1.9.2004 Репутация: нет Всего: нет |
Здравствуйте.
Очень хотелось бы найти компонент, реализующий циферблат и стрелку. Сейчас всё это реализовано на TImage, но такая реализация вызывает ошибку с Canvas'ом (сейчас не вспомню точно текст). Вероятнее всего во время отрисовки приходит по сетке пакет и возинкает какой-то конфликт. Где-то читал, что такое вроде бы возможно. Пробовал кидать отрисовку в поток - не помогло. Надеюсь, что если найти компонент, который бы отрисовывал то же самое, но не на TImage, то проблема будет устранена. Jedi пожалуйста не предлагайте, т. к. у меня уже стоит одна версия, старая, в ней нет того, что нужно, а менять на новую я её не буду, т. к. на неё в текущей версии программы уже многое завязано. Короче, посоветуйте пожалуйста какой-нибудь компонентик. Заранее спасибо. -------------------- Вежливым и адекватным предлагаю общаться на "ты". |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
||||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Ага. Нельзя к vcl обращаться из доп.потоков.
А вот это - неувязки в программной логике. Не должно такого быть, чтобы внутренняя операция сетевого обмена влияла на отображение. Возможно, что сторонний компонент не поможет из-за тех же проблем. Ведь в любом случае он будет использовать Canvas для отрисовки себя. |
|||
|
||||
EKoshelev |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 509 Регистрация: 1.9.2004 Репутация: нет Всего: нет |
kami, Ну а как же этого можно избежать? Прога рисует себе, а тут пакет приходит ни с кем не согласуясь.
-------------------- Вежливым и адекватным предлагаю общаться на "ты". |
|||
|
||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 15 Всего: 76 |
EKoshelev, Ну Вы покажите отрисовку своего компонента, может чем поможем. А то гадаем на кофейной гуще.
-------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
EKoshelev |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 509 Регистрация: 1.9.2004 Репутация: нет Всего: нет |
Rennigth, Это не компонент, а набор процедур, написанных не очень понятно (и не мной). Всё рисование идет на TImage, и осуществляется стандартными операциями: рисование линий, дуги и вывод текста (циферблат с цифрами и стрелка).
Всю эту кашу сюда вываливать не охота, т. к. ещё после моих попыток его править там вообще нифига не понять. И имена переменных не информативные. -------------------- Вежливым и адекватным предлагаю общаться на "ты". |
|||
|
||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 15 Всего: 76 |
EKoshelev, Компонент то тикает сам, или по сети? Я имею ввиду синхронизацию с Вашим неким серваком он как делает?
-------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Ну и пускай приходит. Если приход никаким образом не отражается на отрисовке, то это не страшно. А если отражается, то должно отражаться в пределах основного потока. Нужно больше конкретики. 1. Прием пакета производится в основном потоке или нет? 2. Принятие пакета каким образом может отражаться на визуальных компонентах? (к примеру - пакет парсится и что-то там выводится на экран). 3. Используется ли в сетевом обмене что-то типа Application.ProcessMessages, Sleep и т.п.? |
|||
|
||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 15 Всего: 76 |
ни дай бог... при сетевом обмене... -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Кстати, в своих предположениях я гадаю на кофейной гуще, исходя из Вашего
Добавлено через 2 минуты и 28 секунд При создании своего первого большого проекта у меня так и было. И даже работало ![]() Сейчас я даже в код тех компонентов не хочу смотреть - инфаркт хватит ![]() |
|||
|
||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 15 Всего: 76 |
![]() ![]() -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
EKoshelev |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 509 Регистрация: 1.9.2004 Репутация: нет Всего: нет |
Rennigth, Сам. Синхронизации никакой.
kami, 1. Да, приём пакета в основном потоке. 2. Да, именно так, парсится и выводится. Собственно циферблат тоже инструмент отображения всякого такого барахла. 3. Нет, Application.ProcessMessages, Sleep не используется. -------------------- Вежливым и адекватным предлагаю общаться на "ты". |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
В этом случае, мое имхо - кривая реализация часиков. Ставьте какой-нибудь компонент по приведенной выше ссылке и используйте на здоровье. Основной поток основному потоку не помешает. По крайней мере без использования ProcessMessages я с таким не сталкивался
![]() |
|||
|
||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 15 Всего: 76 |
EKoshelev, Ну покажи хоть что за сетевой обмен(или сам проанализируй). Если честно, информации мало...
Добавлено через 2 минуты и 42 секунды Кстати, все же, что за ошибка? -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |