powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
25 сообщений из 64, страница 1 из 3
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40108950
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!



Перешла с 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 на эту тему в курсе, читала - но эти вопросы там не раскрыты ...
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40108955
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Use Debug DCU = False.

2. "View Source" на проекте.

3. Докируй панели друг в друга. Используй классическую панель компонентов вместо новой.

http://www.rgreat.ru/tmp/Delphi/Clipboard02.png
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40108956
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
вместо того, чтобы нормально пройтись по коду - скачет где захочет.
Приложение многопоточное?
Наталья87
уходит в какие-то левые модули
В левые модули уходить не может, только в используемые
Наталья87
Да, у меня в программе много разных таймеров
Таймеры бывают разные. Какие у вас?
Наталья87
чтобы не уходил в определённые модули?
В начале модуля написать
Код: pascal
1.
{$D-}


Наталья87
запретить ему уходить в модули VCL
Снять галку Use debug DCUs
Наталья87
2) Не получается открыть файл проекта dpr для правки
Меню Project -> View Source
Наталья87
. Никак не получается уменьшить
Как это?
Наталья87
Как уменьшить шрифт и размеры панелей?
Мышкой схватить за край и уменьшить
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40108958
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87

3) Панели разные занимают слишком много места на экране. Object Inspector, Project Manager и прочее. ...

Не знаю, кто как делает, у меня все боковые панели, кроме Object Inspector - скрывающиеся (обычно).
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40108968
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПриложение многопоточное?

Да

авторТаймеры бывают разные. Какие у вас?

TTimer

авторВ начале модуля написать
Код: pascal
1.
 {$D-}



Спасибо

автор
Наталья87
запретить ему уходить в модули VCL
Снять галку Use debug DCUs

Немного по-другому называется, спасибо нашла отключила

автор
Наталья87
2) Не получается открыть файл проекта dpr для правки
Меню Project -> View Source

Гениально просто ...

автор
Наталья87
. Никак не получается уменьшить
Как это?
Наталья87
Как уменьшить шрифт и размеры панелей?
Мышкой схватить за край и уменьшить
[/quote]

Так ведь ничего не прочитать будет. Шрифт-то не уменьшается.
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40108996
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87,

мне интересно, чем аргументируется переход на глубоко устаревшую версию делфи, когда есть бесплатная 10.4.2 CE?
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40108997
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2,

"бесплатная"? :)
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40108998
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
TTimer
TTimer может работать только в главном потоке. Если у вас при отладке кода происходит переход в обработчик OnTimer, значит у вас вызывается Application.ProcessMessages. А теперь вопрос - зачем вы его вызываете?
Наталья87
Шрифт-то не уменьшается.
А можно скриншот?
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109019
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quote автор]
_Vasilisk_
Наталья87
TTimer
TTimer может работать только в главном потоке. Если у вас при отладке кода происходит переход в обработчик OnTimer, значит у вас вызывается Application.ProcessMessages. А теперь вопрос - зачем вы его вызываете?


Чтобы программа не зависала при длительных операциях. Без Application.ProcessMessages работа с программой станет некомфортной для пользователя. Кстати, если даже вызвать обычный ShowMessage без Application.ProcessMessages - всё равно отладчик ускачет в обработки TTimer.

Отключать вручную все таймеры в программе ради отладки как-то не хочется.

Так что этих Application.ProcessMessages в программе очень много и от них не уйти. Но в Delphi 7 это не приводило к тому, чтобы отладчик скакал по таймерам, а в XE-8 скачет отсюда и вопрос как запретить отладчику прыгать именно по таймерам.
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109029
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87Чтобы программа не зависала при длительных операциях.

Вменяемые программисты используют для этого потоки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109031
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87,

может это поможет
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109054
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Наталья87Чтобы программа не зависала при длительных операциях.

Вменяемые программисты используют для этого потоки.


Потоки уже и так используются, их в программе пара десятков штук. Не всё удобно делать на потоках, часто нужно чтобы код выполнялся именно в главном потоке.
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109056
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
Не всё удобно делать на потоках, часто нужно чтобы код выполнялся именно в главном потоке.

Выбирайте либо "удобно" вам, либо юзеру.

Хотя отлаживать потом код с кучей Application.ProcessMessages - это тоже то еще "удобство".
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109102
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat
Наталья87
Не всё удобно делать на потоках, часто нужно чтобы код выполнялся именно в главном потоке.

Выбирайте либо "удобно" вам, либо юзеру.

Хотя отлаживать потом код с кучей Application.ProcessMessages - это тоже то еще "удобство".


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

Таймеры наверное можно отключить создав наследника класса TTimer и подключив его во все формы. Но хотелось бы как-то стандартными средствами отладчика настроить чтобы код не гулял по таймерам. Как сделать чтобы отладчик не гулял по потокам в принципе уже понятно - осталось с таймерами разобраться.
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109103
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat
Наталья87
Не всё удобно делать на потоках, часто нужно чтобы код выполнялся именно в главном потоке.

Выбирайте либо "удобно" вам, либо юзеру.

Хотя отлаживать потом код с кучей Application.ProcessMessages - это тоже то еще "удобство".


Так причем тут конкретно Application.ProcessMessages? Достаточно показать обычное ShowMessage или что либо еще графическое, диалог юзеру какой-нибудь и Application.ProcessMessages уже автоматом выполнится (и отладчик пойдет гулять по таймерам - удивительным образом D7 так не делал)? Даже если старательно из программы это вычистить.
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109105
zedxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наталья87
Потому что если делать в несколько потоков - потом в итоге все глючит и работает еще медленнее, чем одним потоком.

Похоже, кому-то надо срочно прокачать скилы многопоточного программирования.
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109121
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
Так что этих Application.ProcessMessages в программе очень много и от них не уйти.
Есть две функции, которые вызывать не нужно никогда. Вообще никогда. Это Application.ProcessMessages и Sleep
Наталья87
Чтобы программа не зависала при длительных операциях.
Для этого, внезапно, используются потоки
Наталья87
Кстати, если даже вызвать обычный ShowMessage без Application.ProcessMessages - всё равно отладчик ускачет в обработки TTimer.
Что логично. Потому что запустится обработка очереди сообщений.
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109150
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_
Sleep

Я иногда пользуюсь.
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109212
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman
_Vasilisk_
Sleep
Я иногда пользуюсь.
Единственное адекватное применение - какие-то тестовые приложения. Всё.
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109215
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Заменять короткие Sleep на что-то типа WaitForSingleObject - довольно громоздко и не то что бы сильно важно.

Перфекционизм это.
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109217
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_
FreeAdman
пропущено...
Я иногда пользуюсь.
Единственное адекватное применение - какие-то тестовые приложения. Всё.


При переборке файлов из каталогов почему нельзя применить sleep(10), например, для уменьшения нагрузки на диск чтобы другим приложением не было так тесно, например, на сервере? :)

Или всё-таки предлагаете такое дело вынести в отдельный поток, а таймером его приостанавливать \ возобновлять? :))

Ну, ок. А если у нас прога по бэкапу и в конфиге задано чёткое количество копируемых файлов в секунду, например, 20 файлов, то с примененим sleep гораздо проще, чем отсчитать счётчик до 20 и послать сигнал на приостановку потока - этож сплошная куча ненужного говнокода.
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109218
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdmanПри переборке файлов из каталогов почему нельзя применить sleep(10), например,
для уменьшения нагрузки на диск чтобы другим приложением не было так тесно,
например, на сервере? :)

Потому что диск невообразимо медленнее процессора и 10 миллисекунд ничего не
дадут. Если хочется уменьшения нагрузки - надо понижать приоритет своего
ввода-вывода.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109222
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
FreeAdmanПри переборке файлов из каталогов почему нельзя применить sleep(10), например,
для уменьшения нагрузки на диск чтобы другим приложением не было так тесно,
например, на сервере? :)

Потому что диск невообразимо медленнее процессора и 10 миллисекунд ничего не
дадут. Если хочется уменьшения нагрузки - надо понижать приоритет своего
ввода-вывода.

А причём тут ЦП?
Вы снова глупости пишите. Приоритет ввода-вывода и приостановка работы на n время — это не одно и тоже.

Ибо во втором случае диск не нагружен на 100% в общем и целом. Вам же не объяснить элементарные моменты.
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109224
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdmanПриоритет ввода-вывода и приостановка работы на n время — это не одно и тоже.

Да. Потому что второе не решает проблему нагрузки на сервер. Но вам же всё равно...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
    #40109226
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
FreeAdmanПриоритет ввода-вывода и приостановка работы на n время — это не одно и тоже.

Да. Потому что второе не решает проблему нагрузки на сервер. Но вам же всё равно...

Я писал когда-то такую утилиту на Лазарусе хз сколько лет назад, и знаете чего? — Всё работает без проблем нагрузки на сервер. Я бы даже сказал: шикарно работает. А вам бы больше учиться, да меньше поучать.

А если софт работает на виртуалке - Ваш приоритет до одного места.
...
Рейтинг: 0 / 0
25 сообщений из 64, страница 1 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Настройка Delphi XE8 чтобы было удобно работать как в Delphi 7
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]