|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Добрый день! Перешла с Delphi 7 на Delphi XE8 после 15 лет работы на Delphi 7. В некотором ужасе от непривычности новой среды разработки - те действия, что в Delphi 7 были элементарными - на XE-8 превращаются в целый квест. 1) Отладчик какой-то странный - вместо того, чтобы нормально пройтись по коду - скачет где захочет. Например, надо пройтись по процедуре SendEMail - так просто по шагам как в Delphi 7 не получается - отладчик периодически уходит в какие-то левые модули, в D7 такого небыло. Да, у меня в программе много разных таймеров. Можно ли как-то настроить отладчик - чтобы не уходил в определённые модули? Например, запретить ему уходить в модули VCL и в некоторый список из моих модулей? Может, как-то можно отиключить все таймеры в программе (не трогая при этом саму программу) чтобы Delphi по ним не прыгала? Как запретить прыгать по потокам - разобралась уже - хотя это тоже было неприятно. Да, про отличие F7 и F8 в курсе - но похоже, тут дело не в этом. 2) Не получается открыть файл проекта dpr для правки. Казалось бы, в Delphi 7 делалось элементарно. File--Open--> *.dpr набираем в поле выбираем файл проекта Выбираем тип файла Delphi unit (*.pas) и нормально открываем В Delphi XE8 так не получается, приходится открывать файл dpr в Блокноте, портить код чтобы была синтаксическая ошибка и тогда Delphi при нажатии F9 уже показывает данный файл. 3) Панели разные занимают слишком много места на экране. Object Inspector, Project Manager и прочее. Никак не получается уменьшить. Я понимаю конечно, что нужно работать в разрешении 1920 на 1080, а правильные программы должны подстраивать шрифт под разрешение - но на практике это отнюдь не так, программы многие игнорируют разрешение и показывают на экране мелочь при 1920 на 1080, хочется работать при меньшем разрешении экрана, по-другому глаза не позволяют. Как уменьшить шрифт и размеры панелей? Как уменьшить шрифт в редакторе кода худо-будно разобралась, но этого, увы, недостаточно для комфортной работы. P. S. Про статью GunSmoker на эту тему в курсе, читала - но эти вопросы там не раскрыты ... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 13:51 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
1. Use Debug DCU = False. 2. "View Source" на проекте. 3. Докируй панели друг в друга. Используй классическую панель компонентов вместо новой. http://www.rgreat.ru/tmp/Delphi/Clipboard02.png ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 14:05 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Наталья87 вместо того, чтобы нормально пройтись по коду - скачет где захочет. Наталья87 уходит в какие-то левые модули Наталья87 Да, у меня в программе много разных таймеров Наталья87 чтобы не уходил в определённые модули? Код: pascal 1.
Наталья87 запретить ему уходить в модули VCL Наталья87 2) Не получается открыть файл проекта dpr для правки Наталья87 . Никак не получается уменьшить Наталья87 Как уменьшить шрифт и размеры панелей? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 14:07 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Наталья87 3) Панели разные занимают слишком много места на экране. Object Inspector, Project Manager и прочее. ... Не знаю, кто как делает, у меня все боковые панели, кроме Object Inspector - скрывающиеся (обычно). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 14:12 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
авторПриложение многопоточное? Да авторТаймеры бывают разные. Какие у вас? TTimer авторВ начале модуля написать Код: pascal 1.
Спасибо автор Наталья87 запретить ему уходить в модули VCL Немного по-другому называется, спасибо нашла отключила автор Наталья87 2) Не получается открыть файл проекта dpr для правки Гениально просто ... автор Наталья87 . Никак не получается уменьшить Наталья87 Как уменьшить шрифт и размеры панелей? [/quote] Так ведь ничего не прочитать будет. Шрифт-то не уменьшается. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 14:49 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Наталья87, мне интересно, чем аргументируется переход на глубоко устаревшую версию делфи, когда есть бесплатная 10.4.2 CE? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 16:06 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
asutp2, "бесплатная"? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 16:12 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Наталья87 TTimer Наталья87 Шрифт-то не уменьшается. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 16:13 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
[quote автор] _Vasilisk_ Наталья87 TTimer Чтобы программа не зависала при длительных операциях. Без Application.ProcessMessages работа с программой станет некомфортной для пользователя. Кстати, если даже вызвать обычный ShowMessage без Application.ProcessMessages - всё равно отладчик ускачет в обработки TTimer. Отключать вручную все таймеры в программе ради отладки как-то не хочется. Так что этих Application.ProcessMessages в программе очень много и от них не уйти. Но в Delphi 7 это не приводило к тому, чтобы отладчик скакал по таймерам, а в XE-8 скачет отсюда и вопрос как запретить отладчику прыгать именно по таймерам. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 16:43 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Наталья87Чтобы программа не зависала при длительных операциях. Вменяемые программисты используют для этого потоки. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 16:55 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 17:00 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Наталья87Чтобы программа не зависала при длительных операциях. Вменяемые программисты используют для этого потоки. Потоки уже и так используются, их в программе пара десятков штук. Не всё удобно делать на потоках, часто нужно чтобы код выполнялся именно в главном потоке. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 18:07 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Наталья87 Не всё удобно делать на потоках, часто нужно чтобы код выполнялся именно в главном потоке. Выбирайте либо "удобно" вам, либо юзеру. Хотя отлаживать потом код с кучей Application.ProcessMessages - это тоже то еще "удобство". ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 18:22 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
rgreat Наталья87 Не всё удобно делать на потоках, часто нужно чтобы код выполнялся именно в главном потоке. Выбирайте либо "удобно" вам, либо юзеру. Хотя отлаживать потом код с кучей Application.ProcessMessages - это тоже то еще "удобство". Юзеру удобнее как раз чтобы код выполнялся в главном потоке - не такой уж это сложный код в главном потоке, чтобы тормозить компьютер. Потому что если делать в несколько потоков - потом в итоге все глючит и работает еще медленнее, чем одним потоком. Таймеры наверное можно отключить создав наследника класса TTimer и подключив его во все формы. Но хотелось бы как-то стандартными средствами отладчика настроить чтобы код не гулял по таймерам. Как сделать чтобы отладчик не гулял по потокам в принципе уже понятно - осталось с таймерами разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 21:42 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
rgreat Наталья87 Не всё удобно делать на потоках, часто нужно чтобы код выполнялся именно в главном потоке. Выбирайте либо "удобно" вам, либо юзеру. Хотя отлаживать потом код с кучей Application.ProcessMessages - это тоже то еще "удобство". Так причем тут конкретно Application.ProcessMessages? Достаточно показать обычное ShowMessage или что либо еще графическое, диалог юзеру какой-нибудь и Application.ProcessMessages уже автоматом выполнится (и отладчик пойдет гулять по таймерам - удивительным образом D7 так не делал)? Даже если старательно из программы это вычистить. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 21:47 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Наталья87 Потому что если делать в несколько потоков - потом в итоге все глючит и работает еще медленнее, чем одним потоком. Похоже, кому-то надо срочно прокачать скилы многопоточного программирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 22:14 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Наталья87 Так что этих Application.ProcessMessages в программе очень много и от них не уйти. Наталья87 Чтобы программа не зависала при длительных операциях. Наталья87 Кстати, если даже вызвать обычный ShowMessage без Application.ProcessMessages - всё равно отладчик ускачет в обработки TTimer. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 00:25 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
_Vasilisk_ Sleep Я иногда пользуюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 08:54 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdman _Vasilisk_ Sleep ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 14:30 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
_Vasilisk_, Заменять короткие Sleep на что-то типа WaitForSingleObject - довольно громоздко и не то что бы сильно важно. Перфекционизм это. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 14:50 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
_Vasilisk_ FreeAdman пропущено... Я иногда пользуюсь. При переборке файлов из каталогов почему нельзя применить sleep(10), например, для уменьшения нагрузки на диск чтобы другим приложением не было так тесно, например, на сервере? :) Или всё-таки предлагаете такое дело вынести в отдельный поток, а таймером его приостанавливать \ возобновлять? :)) Ну, ок. А если у нас прога по бэкапу и в конфиге задано чёткое количество копируемых файлов в секунду, например, 20 файлов, то с примененим sleep гораздо проще, чем отсчитать счётчик до 20 и послать сигнал на приостановку потока - этож сплошная куча ненужного говнокода. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 15:02 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdmanПри переборке файлов из каталогов почему нельзя применить sleep(10), например, для уменьшения нагрузки на диск чтобы другим приложением не было так тесно, например, на сервере? :) Потому что диск невообразимо медленнее процессора и 10 миллисекунд ничего не дадут. Если хочется уменьшения нагрузки - надо понижать приоритет своего ввода-вывода. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 15:07 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov FreeAdmanПри переборке файлов из каталогов почему нельзя применить sleep(10), например, для уменьшения нагрузки на диск чтобы другим приложением не было так тесно, например, на сервере? :) Потому что диск невообразимо медленнее процессора и 10 миллисекунд ничего не дадут. Если хочется уменьшения нагрузки - надо понижать приоритет своего ввода-вывода. А причём тут ЦП? Вы снова глупости пишите. Приоритет ввода-вывода и приостановка работы на n время — это не одно и тоже. Ибо во втором случае диск не нагружен на 100% в общем и целом. Вам же не объяснить элементарные моменты. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 15:13 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdmanПриоритет ввода-вывода и приостановка работы на n время — это не одно и тоже. Да. Потому что второе не решает проблему нагрузки на сервер. Но вам же всё равно... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 15:16 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov FreeAdmanПриоритет ввода-вывода и приостановка работы на n время — это не одно и тоже. Да. Потому что второе не решает проблему нагрузки на сервер. Но вам же всё равно... Я писал когда-то такую утилиту на Лазарусе хз сколько лет назад, и знаете чего? — Всё работает без проблем нагрузки на сервер. Я бы даже сказал: шикарно работает. А вам бы больше учиться, да меньше поучать. А если софт работает на виртуалке - Ваш приоритет до одного места. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 15:20 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
_Vasilisk_ FreeAdman пропущено... Я иногда пользуюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 15:33 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
bk0010нигде в документации на аппаратуру и протоколы с ней не были указаны никакие задержки А контроль потока был там указан? Обычно такие трюки нужны когда его забывают включать/распаивать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 15:51 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Ок. Все против Sleep. Но никто не объяснил почему :) bk0010 недавно решали проблему с тем, что глючила (переставала отвечать) аппаратура, с которой работала наша программа. И это была ЭЭГ в клинике ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 16:07 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdmanВсе против Sleep. Но никто не объяснил почему :) Потому что в GUI приложениях главный поток должен непрерывно обрабатывать приходящие сообщения. Sleep этому мешает. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 16:18 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Дык! Я то думал, речь идёт об отдельных потоках. С GUI ясен пень. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 16:22 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdmanЯ то думал, речь идёт об отдельных потоках. А отдельные потоки создаются для того чтобы они работали, а не спали. Если им нечего делать - они должны либо завершиться, либо ожидать сигнала к завершению или новой работе. Sleep этому мешает. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 16:26 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, от ситуации. Бывает надо паузу вставить чтобы не молотило когда в том нет необходимости ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 16:30 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdmanБывает надо паузу вставить чтобы не молотило когда в том нет необходимости В этом случае поток должен ожидать сигнала к завершению или продолжению работы. Sleep этому мешает. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 16:39 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov FreeAdmanБывает надо паузу вставить чтобы не молотило когда в том нет необходимости В этом случае поток должен ожидать сигнала к завершению или продолжению работы. Sleep этому мешает. Вы будто ограничены. Почему бы не научиться смотреть шире? А потом я задаюсь вопросом, почему современное ПО такое паршивое... Да потому что "я просто ехал прямо" ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 16:48 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdmanА потом я задаюсь вопросом, почему современное ПО такое паршивое... А зачем задаваться вопросом с так очевидным ответом "всё хз сколько лет работает без проблем"? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 16:52 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov FreeAdmanА потом я задаюсь вопросом, почему современное ПО такое паршивое... А зачем задаваться вопросом с так очевидным ответом "всё хз сколько лет работает без проблем"? Раньше (лет эдак 15-20+) как-то больше уделяли внимание мелочам и были ближе к железу, ибо вынуждены были разбираться как всё работает и, представьте себе, даже головой соображать. Сейчас поди спроси у новых кодеров, не так давно выползших с пелёнки, чавой такое стэк или почему прога получает отказ при попытке зарезервировать цельным куском свободную, но фрагментированную память, не говоря уже за заоблачные вопросы на которые даже распальцованые дяди ответить не могут чётко. Сейчас куча фреймворков, конструкторов, всё само выделяет, следит, освобождает. С++ вообще считаю конченым - чем больше проект, тем засранее он становится в космических масштабах. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:03 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, да и раньше кодер был и сам себе тестировщиком, а сейчас уже не нужно об этом заботиться, ибо есть тестировщики на зарплате, а следовательно можно особо и не напрягаться головой :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:08 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdmanРаньше (лет эдак 15-20+) как-то больше уделяли внимание мелочам и были ближе к железу, ибо вынуждены были разбираться как всё работает и, представьте себе, даже головой соображать. Нет, ни 15, ни 20, ни даже 25 лет назад ничего такого среди дельфинов не наблюдалось. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:15 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdman Почему бы не научиться смотреть шире? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:18 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, а причём тут конкретно дельфины? Если речь о программистах в общем. Да и к тому же в Дельфях вполне использовались ассемблерные вставки время от времени, поди расскажи мне что 20 лет назад про стэк никто не знал ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:18 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdmanподи расскажи мне что 20 лет назад про стэк никто не знал При чём тут стэк? Мемы "бесформенная форма" или "туда где часики", Вам, очевидно, ничего не говорят?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:20 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
_Vasilisk_ FreeAdman Почему бы не научиться смотреть шире? Так то в целом это не нужно никогда. Бывает, когда задача ёмкая на несколько часов, например, и в быстром выполнении тоже нужды нет, достаточно чтобы поток попросту висел и тихонько выполнял задачу, при том не грузил ядро на 100% или диск или Бог знает что ещё. Или, например, в неком цикле ожидание освобождение некого ресурса чтобы его вновь занять, зачем такому циклу молотить 10 млн раз в секунду и вешать ядро, если это не критично? Как его притормозить? Только не говорите, что надо таймер использовать Dimitry Sibiryakov FreeAdmanподи расскажи мне что 20 лет назад про стэк никто не знал При чём тут стэк? Мемы "бесформенная форма" или "туда где часики", Вам, очевидно, ничего не говорят?.. Угу. Я неуч. Мне лишь бы поумничать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:23 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdman, К Sleep в потоке только одна претензия, он внутри себя на Thread.Terminated не проверяет. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:25 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
rgreat FreeAdman, К Sleep в потоке только одна претензия, он внутри себя на Thread.Terminated не проверяет. Никогда с этим не сталкивался т.к. завершал потоки немного иначе, и Sleep отрабатывал, а после завершал, если так нужно было, иначе зачем создавать поток для управления другим потоком? Должна быть синхронизация и порядок, а не хаос и беспорядок. Если в потоке вы что-то вызвали - будьте добры, дайте ему завершиться, или же заранее предусмотрите корректную останову потока :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:28 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdman Никогда с этим не сталкивался т.к. завершал потоки немного иначе и Sleep отрабатывал, а после завершал, если так нужно было, иначе зачем создавать поток для управления другим потоком? Должна быть синхронизация и порядок, а не хаос и беспорядокТак пока слип не отработает, поток штатно не завершится. Если слип короткий - это не проблема, просто немного не красиво. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:32 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
rgreat Так пока слип не отработает, поток штатно не завершится. Если слип короткий - это не проблема, просто немного не красиво. Зависит от ситуации. Но больших слипов я никогда не применяю, вместо них я использую таймеры или ивенты - снова же от ситуации ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:35 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdman быстром выполнении тоже нужды нет, достаточно чтобы поток попросту висел и тихонько выполнял задачу, при том не грузил ядро на 100% или диск или Бог знает что ещё. Код: pascal 1.
FreeAdman Или, например, в неком цикле ожидание освобождение некого ресурса чтобы его вновь занять, Код: pascal 1.
FreeAdman Только не говорите, что надо таймер использовать ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:37 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
_Vasilisk_ Код: pascal 1.
До вас не достучаться. Вы за своё и флаххх вам фф рукки. _Vasilisk_ Код: pascal 1.
А если это array[i].FreeBool ? Или ещё что? _Vasilisk_ FreeAdman Только не говорите, что надо таймер использовать Здесь никаких таймером, очевидно. Вы не улавливаете мысли в диалогах, читаете между строк. Во-вторых, ждёт - это Sleep, а таймер - делает через интервал. Почувствуйте разницу. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:44 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
_Vasilisk_ Код: pascal 1.
Парню, у которого подвис с оборудкой был, очень бы помог этот совет ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:50 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdman, Это не совет, это диверсия. Если чтото займет процессор поток просто работать нормально не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 17:55 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
bk0010 _Vasilisk_ пропущено... Единственное адекватное применение - какие-то тестовые приложения. Всё. Подозреваю, что оборудка попросту не успевала отдуплять за командиром. ПО должно синхронизироваться с железякой, опрашивать на готовность выполнить команду и те самые 10мс ожидания видимо хватило на прийти в готовность принять новые данные. А вообще это не очень хорошо. В какой-то момент тоже может подвиснуть в редких случаях, а потом искать закономерность рандомную :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 18:00 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdmanПарню, у которого подвис с оборудкой был, очень бы помог этот совет Тот парень удовлетворился костыликом и так и не ответил на вопрос о контроле потока. Ему не нужна помощь, его вполне устраивает "современное паршивое ПО", которое "годами как-то работает без проблем". rgreatЕсли чтото займет процессор поток просто работать нормально не будет. Ну так у него в ТЗ написано "чтобы поток попросту висел и тихонько выполнял задачу". Ничего про "нормальную работу" нет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 18:02 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Все потому, что у вас с програмистов за расход электроэнергии не вычитают.... ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 18:07 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdmanНу, давайте начнём с того, что мой поток контролируемый, Акей? Нет, давайте начнём с того, что вы скажете называете ли в данном случае "потоком" thread или stream. У "того парня" это был stream, причём, вероятнее всего, с RS-232 или ему подобных. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 18:29 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Нет, давайте начнём с того, что вы скажете называете ли в данном случае "потоком" thread или stream. Thread. Речь то идёт о параллельном выполнении. К чему Stream пришивать? Чтож вы за люди такие ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 18:33 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdmanК чему Stream пришивать? К тому, что там именно проблемы со stream были решены искусственной задержкой посылки в него (stream) данных. Как Вы умудрились перейти от него к thread - непонятно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 19:19 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
FreeAdman Dimitry Sibiryakov, да и раньше кодер был и сам себе тестировщиком, а сейчас уже не нужно об этом заботиться, ибо есть тестировщики на зарплате, а следовательно можно особо и не напрягаться головой :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 20:41 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov А контроль потока был там указан? Обычно такие трюки нужны когда его забывают включать/распаивать. Dimitry Sibiryakov Нет, давайте начнём с того, что вы скажете называете ли в данном случае "потоком" thread или stream. У "того парня" это был stream, причём, вероятнее всего, с RS-232 или ему подобных. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2021, 21:44 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
bk0010 Dimitry Sibiryakov У "того парня" это был stream, причём, вероятнее всего, с RS-232 или ему подобных. А какая разница? Ethernet как и RS-232 тоже последовательный протокол с асинхронной передачей и приёмом. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2021, 00:41 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
bk0010 Да если бы: недавно решали проблему с тем, что глючила (переставала отвечать) аппаратура, с которой работала наша программа. Проблему решила команда sleep(10) перед отправкой пакета (нигде в документации на аппаратуру и протоколы с ней не были указаны никакие задержки). Ну, и sleep(0) тоже иногда пользу приносить может. Некоторые вещи настолько логичны, что указывать их не стоит везде и всюду. Например, когда впервые работаешь с аппаратурой, то перед изменением настроек порта нужно дождаться отправки буфера обмена. По протоколу инициализация идет на 300, а затем, после согласования, общение переходит на 9600 или выше. Но прежде, чем переключать скорость, нужно дождаться отправки того, что было на 300. Но если такие моменты не учитывать, то можно эмпирическим путем выставлять слипы на разные мс. И когда-нибудь да и угадаешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2021, 13:00 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
wadman bk0010 Да если бы: недавно решали проблему с тем, что глючила (переставала отвечать) аппаратура, с которой работала наша программа. Проблему решила команда sleep(10) перед отправкой пакета (нигде в документации на аппаратуру и протоколы с ней не были указаны никакие задержки). Ну, и sleep(0) тоже иногда пользу приносить может. Некоторые вещи настолько логичны, что указывать их не стоит везде и всюду. Например, когда впервые работаешь с аппаратурой, то перед изменением настроек порта нужно дождаться отправки буфера обмена. По протоколу инициализация идет на 300, а затем, после согласования, общение переходит на 9600 или выше. Но прежде, чем переключать скорость, нужно дождаться отправки того, что было на 300. Но если такие моменты не учитывать, то можно эмпирическим путем выставлять слипы на разные мс. И когда-нибудь да и угадаешь. А это как-то отлавливается? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2021, 19:59 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Тоже не вижу ничего криминального в Sleep < 500. А уж для < 100 и подавно. Скорость закрытия проги, как правило, не так критична, как запуска. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2021, 11:15 |
|
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
|
|||
---|---|---|---|
#18+
Fr0sT-Brutal Тоже не вижу ничего криминального в Sleep < 500. А уж для < 100 и подавно. Ну да ладноПостовой: И я про вас никому. Езжайте! Да, когда свернете налево, ну вы-то направо, там проезд запрещен, обрыв. Но вам туда можно!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2021, 12:01 |
|
|
start [/forum/topic.php?all=1&fid=58&tid=2036902]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
168ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
89ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 316ms |
0 / 0 |