Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2019, 11:55   #1
niockasd
Пользователь
 
Регистрация: 01.12.2015
Сообщений: 82
По умолчанию перенос модулей в папке с проектом

Всем привет, решил немного пораскидать модули в директории с проектом по разным директориям, сложно ориентироваться уже стало.

Столкнулся с такой проблемой:
Большая часть pas + dfm перенеслись без проблем, проект компилируется и софт работает.

Но после переноса некоторых форм (даже если их удалить из проекта и добавить снова без изменения местоположения pas + dfm) программа запускается и сразу же вылетает ошибка чтения из памяти.

Не могу понять закономерностей, почему большая часть форм перенеслась нормально а некоторые не в какую не хотят?
niockasd вне форума Ответить с цитированием
Старый 18.05.2019, 03:03   #2
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Приложите архив с неправильно работающим проектом, посмотрим.
На пальцах в общем случае ответить не возможно.
northener вне форума Ответить с цитированием
Старый 18.05.2019, 09:25   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Может, не совсем в тему, но проще всего хранить каждый проект в отдельной папке. К примеру, учитывая сложность для меня ориентироваться в большом количестве объектов - у меня это единственно приемлемый выход. А что некоторые фрагменты, используемые несколькими проектами, будут дублироваться - не беда. Современные объемы HDD позволяют. Если задуматься - а сколько на диске занимают игрушки...
digitalis вне форума Ответить с цитированием
Старый 20.05.2019, 02:44   #4
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Может, не совсем в тему, но проще всего хранить каждый проект в отдельной папке.
Я не знаю в тему или не в тему, ибо ТС молчит.
Но что вы подразумеваете под "хранить каждый проект в отдельной папке"?
Если я правильно понял, то вам нужно иметь список всех модулей во всех проектах. И каждый раз, найдя ошибку, исправлять её во всех "проектах".
northener вне форума Ответить с цитированием
Старый 20.05.2019, 08:52   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
проще всего хранить каждый проект в отдельной папке
Не-а. Это проще, когда они совершенно не зависимы и просты. А так даже наработанную библиотеку своих процедур и функций зачем дублировать, не говоря уже о других юнитах, которые могут входить в разные проекты. А если они еще взаимосвязаны. А компилировать - группу проектов создать и сразу все )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 20.05.2019 в 08:54.
Аватар вне форума Ответить с цитированием
Старый 20.05.2019, 12:41   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Тут у каждого - в зависимости от... Мне в последние 5..7 лет работать со сложными проектами не приходилось. Так, по мелочам для себя чего-нить настрогать. Поэтому, создавая новый, копирую всю папку подходящего в другую, там его допиливаю под новую хотелку - и вот оно. Инкапсуляция, мать ити Каждый живет своей жизнью, не мешая другому, и запутаться в модулях не выйдет даже если захочешь.
Конечно, для сложного многопрограммного комплекса мой совет не годится, как
" ... бейте лампочки в подъездах -
Вы поможете народу
Электричество беречь"

поэтому я беру его обратно.

Последний раз редактировалось digitalis; 20.05.2019 в 12:43.
digitalis вне форума Ответить с цитированием
Старый 21.05.2019, 03:01   #7
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Прекрасно вас понимаю, digitalis.
Сам подчас так и поступал. Вот только постоянно бередит душу та самая бритва Оккама.
Ну и работа над ошибками. А куда без них. Мы же не боги! Легче исправить ошибку а одном модуле/файле, чем в нескольких (хрен знает где расположенных).
northener вне форума Ответить с цитированием
Старый 21.05.2019, 09:58   #8
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Согласен. Если найдена ошибка - прошерстить все модули и исправить представляет определенную трудность, но не ультратяжкую, учитывая отлично организованный механизм поиска в Винде или ТК. Но у палки есть другой конец: исправив модуль под одну программу, "как наше слово отзовется" в других, его использующих? Не факт, что в лучшую сторону. Конечно, речь не идет об явных ошибках, а об особенностях работы модуля: здесь его фича тормозит, а вот здесь - как влитая.
digitalis вне форума Ответить с цитированием
Старый 21.05.2019, 10:45   #9
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

niockasd
При переносе pas файлов в папки надо удалить все DCU файлы так как в них прописаны пути к старым папками. При компиляции они не заменяются, а при работе ждите конфузов.

digitalis
Есть у меня проект. Библиотека из десятка модулей. Так вот к библиотеке ещё пару десятка примеров. Проект старый и к тому времени было решено что пора его переписать. Переделать архитектуру. Очень долго возился.
Так вот проблема была в том что когда начал все примеры перестали работать. А ещё больше времени ушло на отладку так как каждый пример требовал отладки. Мало того что его требовалось переписать. Так ошибки были и в примерах. И в старом коде и даже в новом коде тоже были ошибки.
А сейчас подумываю перевести всё это дело с классов на интерфейсы.

Держать проще в отельных папках и дублировать код. Но вот когда нужно сделать качественно а ни абы как. Тут уже приходится делать общие юниты. Но вот вчера оценив затраты на добавления юнитов взял да и скопировал все функции в общий dpr-файл.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 21.05.2019, 12:27   #10
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Может, не сто'ит забивать голову столь сложными материями? Лето, солнышко, шашлыки, холодное пиво... Жизнь прекрасна - что удивительно.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт, который считает количество файлов в каждой папке, находящихся в данной папке so1idsnake Помощь студентам 20 07.08.2013 22:38
Работа с проектом LENA_M Фриланс 5 26.08.2012 22:47
проблема с Проектом Axrik Помощь студентам 0 30.01.2012 22:40
Экономит ли опер. память перенос из модулей только необходимых функций, типов, констант...? Asker13 Общие вопросы Delphi 4 10.05.2011 12:51
Отслеживает появление в папке файлов. слежение за определенным файлом в определенной папке. RammFan Win Api 1 09.06.2007 11:09