|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
GunSmoker Обходное решение в лоб: Код: pascal 1. 2. 3. 4. 5.
Тогда автоматически Delphi будет добавлять модули под NeverDefineThisSymbol, который никогда не определён, и, следовательно, эффекта иметь не будет. Огромное спасибо. Ваше решение с небольшими модификациями заработало (ниже указано - как оно у меня заработало). Удалось обмануть среду Delphi - чтобы она добавляла свой мусор в определенное место и чтобы он не влиял на компиляцию. Визуальный редактор форм при этом тоже работает и не ругается. Велосипед, конечно в какой-то мере - но колеса почти идеально круглые - по крайней мере не хуже, чем были в Delphi 2007. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:20 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
_Vasilisk_А что вы такое написали, что для вас критичен *порядок* модулей? Прочитай её предыдущие топики. Она половину VCL отхакала, поэтому если её костыли не окажутся последними - работать не будут. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:25 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
_Vasilisk_ GunSmoker Но судя по сообщению ТС - среда добавляет в начало. Да - так именно и было. А если USES подключать из внешнего файла - не работал редактор форм. GunSmoker подсказал - спасибо ему - дело видимо не только в слове USES - а еще в слове Windows - видимо среда разработки ищет это слово при вставке модулей - а теперь находит, куда надо вставлять. Так как среда всё равно тупая и не понимает, куда надо модули вставлять - логичным оказывается решение воспользоваться её тупостью и сделать чтобы она вставляла модули в то место, где они не мешают компиляции. От самой среды по сути нужен визуальный редактор форм, а от программного кода - чтобы он компилировался - теперь оба условия выполняются. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:25 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
_Vasilisk_ GunSmoker Delphi будет добавлять модули под NeverDefineThisSymbol, В том и дело, что раньше добавлялись ПЕРЕД моей секцией USES. А теперь добавляются нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:26 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov _Vasilisk_А что вы такое написали, что для вас критичен *порядок* модулей? Прочитай её предыдущие топики. Она половину VCL отхакала, поэтому если её костыли не окажутся последними - работать не будут. Похоже, костыли уже одни из последних. Приложение на 400 тысяч строк кода, уже год пытаюсь перенести с Delphi 2007 на XE-8. Уже за год на XE-8 всё нормально компилируется и отлажено, все баги устранены почти. Остается один шаг - вообще уйти с Delphi 2007 и полностью перейти на XE8. При этом, разумеется, кучи хлама в проекте на XE-8 совсем не хочется притом что в Delphi 2007 всё в порядке было. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:29 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Наталья87Остается один шаг - вообще уйти с Delphi 2007 и полностью перейти на XE8. Вы так и не познакомились с системами контроля версий и их ветками. Ну да, Вам же некогда, кодировать надо... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:37 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
_Vasilisk_ Наталья87 где такой набор модулей в таком порядке нужен Например, поведение приложения при нажатии кнопки "Свернуть" (обсуждали уже здесь недавно). Притом, что все формы у меня модальные. Нужно чтобы при нажатии "Свернуть" в любом окне программы - сворачивалась программа целиком, а потом точно также аккуратно разворачивалась. Из прочего - цветные кнопки (наследники TButton), цветные меню, свои модули - например, по работе с файлами, с MD5, работа с Excel и прочее. Разумеется, хочется, чтобы все было в одном стиле во всем приложении - и чтобы не подключать все модули к каждой форме приложения (и не редактировать потом все формы - если добавится новый модуль) - и хочется написать что-то подобное USES {$I All.inc}, ...; И так уже более 400 тысяч строк кода - еще более 200 копий одинаковых модулей там не хватало чтобы окончательно запутаться ... То есть это не говнокод в его понимании - наоборот, стремление всё упорядочить чтобы небыло лишних копий кода, а возможно, какое-то нестандартное применение. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:39 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Наталья87Остается один шаг - вообще уйти с Delphi 2007 и полностью перейти на XE8. Вы так и не познакомились с системами контроля версий и их ветками. Ну да, Вам же некогда, кодировать надо... Вести 2 версии параллельно на D2007 и на D XE8? Нет, спасибо. И без этого уже задолбаюсь. Как получится привести код в нормальное состояние на XE8 - просто уйду с 2007 окончательно и всё. Пока все еще веду на 2007 - но для пользователей код компилирую на XE8 (код, написанный для 2007 и преобразовываемый AutoIt-ом для XE-8 для компиляции). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:43 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Наталья87То есть это не говнокод в его понимании Не хочу Вас расстраивать, но это именно он. Причём в терминальной стадии. А ведь всего-то было достаточно при кодировании "цветной кнопки" назвать её чуть-чуть иначе, чем TButton и прописать нужные модули в секцию зависимостей её пакета... PS: О том чтобы не бороться с ветряными мельницами и не пытаться раскрашивать системную кнопку, которая к этому не приспособлена я уже молчу. Наталья87хочется написать что-то подобное USES {$I All.inc}, ...; А нормальные люди не борются со средой и позволяют ей автоматически "написать что-то подобное" при первом броске своей кнопки на форму. Наталья87Вести 2 версии параллельно на D2007 и на D XE8? Нет, спасибо. И без этого уже задолбаюсь. Вы таки не поверите, но задолбались Вы именно от желания НЕ вести две версии параллельно. Уже упомянутые СКВ облегчают именно этот процесс до тривиального. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:47 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Наталья87То есть это не говнокод в его понимании А ведь всего-то было достаточно при кодировании "цветной кнопки" назвать её чуть-чуть иначе, чем TButton и прописать нужные модули в секцию зависимостей её пакета... Ну допустим, назовём её ColorButton. А как во все модули форм прописывать? Как дура и буду бегать по всем формам, дописывать везде в секцию USES , ColorButton ? А если ColorMenu добавится - что - снова бегать по модулям и добавлять? Если приложение было сделано с обычными кнопками, а потом заказчик захотел цветные? А потом захотел, например, цветные меню. Какое тут еще может быть решение кроме модулей, подключаемых списком ко всем формам приложения? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:51 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Наталья87 А как во все модули форм прописывать? Как дура и буду бегать по всем формам, дописывать везде в секцию USES , ColorButton ? Внезапно: бросаете на форму свой ColorButton и среда САМА прописывает его в секцию USES. Причём только в те формы, где он реально нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:53 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov PS: О том чтобы не бороться с ветряными мельницами и не пытаться раскрашивать системную кнопку, которая к этому не приспособлена я уже молчу. А что делать если весь проект написан с кучей TButton - например? Переделывать весь проект на основе другого компонента ради того, чтобы кнопки сделать цветными (а потом еще отлавливать баги)? И опять бегать по всем модулям? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:54 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Наталья87 А как во все модули форм прописывать? Как дура и буду бегать по всем формам, дописывать везде в секцию USES , ColorButton ? Внезапно: бросаете на форму свой ColorButton и среда САМА прописывает его в секцию USES. Причём только в те формы, где он реально нужен. А что делать со старыми формами? Где TButton, а не TColorButton? А этих форм сотни, т. к. в проекте более 400 тысяч строк кода? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:55 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Наталья87А что делать со старыми формами? Где TButton, а не TColorButton? А этих форм сотни, т. к. в проекте более 400 тысяч строк кода? Поверьте, открыть их все и бросить TColorButton на каждую - заняло бы гораздо меньше времени чем год хаков. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:58 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Наталья87А что делать со старыми формами? Где TButton, а не TColorButton? А этих форм сотни, т. к. в проекте более 400 тысяч строк кода? Поверьте, открыть их все и бросить TColorButton на каждую - заняло бы гораздо меньше времени чем год хаков. Никакого года на хаки не потрачено. Проект продолжает вестись и развиваться на базе 2007. Просто время от времени компилируется на XE8, сборка на XE8 уже почти не имеет глюков и практически не хуже, чем на 2007. Надеюсь, перейду полностью на XE8 в скором времени, 2007 роднее конечно, но к XE8 тоже уже почти привыкла. Торопиться не стоит - надо сначала убедиться, что действительно багов серьезных нет - может, еще полгода подождать что скажут пользователи. А потом в очередной раз AutoIt-ом преобразую проект из D2007 на XE-8 и от 2007 уйду насовсем без всяких систем контроля версий. А то продолжать вести проект на 2007 и компилировать на XE8 это означает не использовать новые возможности, что появились в XE-8. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 14:10 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Ну-ну. До встречи ещё через год. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 14:15 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Оооо, я не зря читал этот тред! автор Код: pascal 1.
Не знал, что IF Declared работает с юнитами. Не знаю, правда, как это применять, но забавно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 14:36 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Наталья87 Например, поведение приложения при нажатии кнопки "Свернуть" (обсуждали уже здесь недавно). Притом, что все формы у меня модальные. Нужно чтобы при нажатии "Свернуть" в любом окне программы - сворачивалась программа целиком, а потом точно также аккуратно разворачивалась. Из прочего - цветные кнопки (наследники TButton), цветные меню, Наталья87 А что делать со старыми формами? Где TButton, а не TColorButton? А этих форм сотни, т. к. в проекте более 400 тысяч строк кода? 1. Создаете новый пакет. 2. В этом пакете создаете новый компонент Код: pascal 1.
3. Инсталлируете этот пакет 4. По всем pas и dfm файлов выполняете замену TButton -> TColorButton 5. Все. Работы часа на два, если с перерывом на кофе ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 15:23 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
_Vasilisk_ Работы часа на два, если с перерывом на кофе Для Программиста - пожалуй, да. А для быдлокодера - пожалуй, пару недель займёт :( зато мой проект из 400 000 строк на чистой D2007 компилируется. Думаю, в итоге приду к Вашему решению но уже после перехода на XE-8, в D2007 незачем уже огороды городить, надо с нее скорее уходить, 2021 год на дворе. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 15:48 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Есть и другой способ, без всяких инсталяций. Код: pascal 1. 2. 3.
И во всех модулях где нужно заменить TButton на TColorButton дописываем ВНАЧАЛО uses MyButton ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 16:00 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
DimaBrИ во всех модулях где нужно заменить TButton на TColorButton дописываем ВНАЧАЛО uses MyButton ....а потом начинаем топик "как запретить Delphi вставлять модули в секцию USES", всё логично, да... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 16:05 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Наталья87 ...но уже после перехода на XE-8, в D2007 незачем уже огороды городить, надо с нее скорее уходить, 2021 год на дворе. А на Delphi 11 - в 2031 году переходить, ага. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 16:15 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Наталья87 Для Программиста - пожалуй, да. А для быдлокодера - пожалуй, пару недель займёт ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 16:27 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
DimaBr дописываем ВНАЧАЛО uses MyButton ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 16:29 |
|
Запретить Delphi вставлять модули в секцию USES при компиляции и сохранении проекта
|
|||
---|---|---|---|
#18+
Какие-то бессмысленные метания. Если цель уйти на XE8 и там уже всё собирается, то докинуть пустых юнитов в старый проект, чтобы и он собирался и на этом всё. Другое дело что ни это, ни любые define не помогут если в dfm новые свойства пропишутся или ещё что такое. Поэтому надо уже перейти, а старый забыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 16:35 |
|
|
start [/forum/search_topic.php?author=Starbuck&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
143ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 619ms |
total: | 886ms |
0 / 0 |