Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужен компонент для Delphi 7, с циферблатом и стрелкой 
:(
    Опции темы
EKoshelev
Дата 18.9.2012, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 509
Регистрация: 1.9.2004

Репутация: нет
Всего: нет



Здравствуйте.

Очень хотелось бы найти компонент, реализующий циферблат и стрелку. Сейчас всё это реализовано на TImage, но такая реализация вызывает ошибку с Canvas'ом (сейчас не вспомню точно текст). Вероятнее всего во время отрисовки приходит по сетке пакет и возинкает какой-то конфликт. Где-то читал, что такое вроде бы возможно. Пробовал кидать отрисовку в поток - не помогло.

Надеюсь, что если найти компонент, который бы отрисовывал то же самое, но не на TImage, то проблема будет устранена.

Jedi пожалуйста не предлагайте, т. к. у меня уже стоит одна версия, старая, в ней нет того, что нужно, а менять на новую я её не буду, т. к. на неё в текущей версии программы уже многое завязано.

Короче, посоветуйте пожалуйста какой-нибудь компонентик.

Заранее спасибо.


--------------------
Вежливым и адекватным предлагаю общаться на "ты".
PM MAIL   Вверх
kami
Дата 18.9.2012, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



PM MAIL WWW   Вверх
kami
Дата 18.9.2012, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(EKoshelev @  18.9.2012,  21:48 Найти цитируемый пост)
Пробовал кидать отрисовку в поток - не помогло.

Ага. Нельзя к vcl обращаться из доп.потоков.
Цитата(EKoshelev @  18.9.2012,  21:48 Найти цитируемый пост)
Вероятнее всего во время отрисовки приходит по сетке пакет и возинкает какой-то конфликт.

А вот это - неувязки в программной логике. Не должно такого быть, чтобы внутренняя операция сетевого обмена влияла на отображение.

Возможно, что сторонний компонент не поможет из-за тех же проблем. Ведь в любом случае он будет использовать Canvas для отрисовки себя.
PM MAIL WWW   Вверх
EKoshelev
Дата 19.9.2012, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 509
Регистрация: 1.9.2004

Репутация: нет
Всего: нет



kami, Ну а как же этого можно избежать? Прога рисует себе, а тут пакет приходит ни с кем не согласуясь.


--------------------
Вежливым и адекватным предлагаю общаться на "ты".
PM MAIL   Вверх
Rennigth
Дата 19.9.2012, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 15
Всего: 76



EKoshelev, Ну Вы покажите отрисовку своего компонента, может чем поможем. А то гадаем на кофейной гуще.


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
EKoshelev
Дата 19.9.2012, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 509
Регистрация: 1.9.2004

Репутация: нет
Всего: нет



Rennigth, Это не компонент, а набор процедур, написанных не очень понятно (и не мной). Всё рисование идет на TImage, и осуществляется стандартными операциями: рисование линий, дуги и вывод текста (циферблат с цифрами и стрелка).

Всю эту кашу сюда вываливать не охота, т. к. ещё после моих попыток его править там вообще нифига не понять. И имена переменных не информативные.


--------------------
Вежливым и адекватным предлагаю общаться на "ты".
PM MAIL   Вверх
Rennigth
Дата 19.9.2012, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 15
Всего: 76



EKoshelev, Компонент то тикает сам, или по сети? Я имею ввиду синхронизацию с Вашим неким серваком он как делает?


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
kami
Дата 19.9.2012, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(EKoshelev @  19.9.2012,  08:58 Найти цитируемый пост)
Прога рисует себе, а тут пакет приходит ни с кем не согласуясь.

Ну и пускай приходит. Если приход никаким образом не отражается на отрисовке, то это не страшно. А если отражается, то должно отражаться в пределах основного потока.
Нужно больше конкретики.
1. Прием пакета производится в основном потоке или нет?
2. Принятие пакета каким образом может отражаться на визуальных компонентах? (к примеру - пакет парсится и что-то там выводится на экран).
3. Используется ли в сетевом обмене что-то типа Application.ProcessMessages, Sleep и т.п.?
PM MAIL WWW   Вверх
Rennigth
Дата 19.9.2012, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 15
Всего: 76



Цитата(kami @  19.9.2012,  09:51 Найти цитируемый пост)
Application.ProcessMessages, Sleep

ни дай бог... при сетевом обмене...


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
kami
Дата 19.9.2012, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Кстати, в своих предположениях я гадаю на кофейной гуще, исходя из Вашего
Цитата(EKoshelev @  18.9.2012,  21:48 Найти цитируемый пост)
Вероятнее всего во время отрисовки приходит по сетке пакет и возинкает какой-то конфликт.


Добавлено через 2 минуты и 28 секунд
Цитата(Rennigth @  19.9.2012,  09:53 Найти цитируемый пост)
ни дай бог... при сетевом обмене...

При создании своего первого большого проекта у меня так и было. И даже работало smile
Сейчас я даже в код тех компонентов не хочу смотреть - инфаркт хватит smile 
PM MAIL WWW   Вверх
Rennigth
Дата 19.9.2012, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 15
Всего: 76



Цитата(kami @  19.9.2012,  09:54 Найти цитируемый пост)
Сейчас я даже в код тех компонентов не хочу смотреть - инфаркт хватит smile  

 smile Мне легче, у меня хард сдох со всеми старыми сорсами  smile 


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
EKoshelev
Дата 19.9.2012, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 509
Регистрация: 1.9.2004

Репутация: нет
Всего: нет



Rennigth, Сам. Синхронизации никакой.


kami
1. Да, приём пакета в основном потоке.
2. Да, именно так, парсится и выводится. Собственно циферблат тоже инструмент отображения всякого такого барахла.
3. Нет, Application.ProcessMessages, Sleep не используется.


--------------------
Вежливым и адекватным предлагаю общаться на "ты".
PM MAIL   Вверх
kami
Дата 19.9.2012, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



В этом случае, мое имхо - кривая реализация часиков. Ставьте какой-нибудь компонент по приведенной выше ссылке и используйте на здоровье. Основной поток основному потоку не помешает. По крайней мере без использования ProcessMessages я с таким не сталкивался smile
PM MAIL WWW   Вверх
Rennigth
Дата 19.9.2012, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 15
Всего: 76



EKoshelev, Ну покажи хоть что за сетевой обмен(или сам проанализируй). Если честно, информации мало...

Добавлено через 2 минуты и 42 секунды
Цитата(EKoshelev @  18.9.2012,  21:48 Найти цитируемый пост)
вызывает ошибку с Canvas'ом

Кстати, все же, что за ошибка?


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1118 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.