|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.05.2019, 11:55 | #1 |
Пользователь
Регистрация: 01.12.2015
Сообщений: 82
|
перенос модулей в папке с проектом
Всем привет, решил немного пораскидать модули в директории с проектом по разным директориям, сложно ориентироваться уже стало.
Столкнулся с такой проблемой: Большая часть pas + dfm перенеслись без проблем, проект компилируется и софт работает. Но после переноса некоторых форм (даже если их удалить из проекта и добавить снова без изменения местоположения pas + dfm) программа запускается и сразу же вылетает ошибка чтения из памяти. Не могу понять закономерностей, почему большая часть форм перенеслась нормально а некоторые не в какую не хотят? |
18.05.2019, 03:03 | #2 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,872
|
Приложите архив с неправильно работающим проектом, посмотрим.
На пальцах в общем случае ответить не возможно. |
18.05.2019, 09:25 | #3 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Может, не совсем в тему, но проще всего хранить каждый проект в отдельной папке. К примеру, учитывая сложность для меня ориентироваться в большом количестве объектов - у меня это единственно приемлемый выход. А что некоторые фрагменты, используемые несколькими проектами, будут дублироваться - не беда. Современные объемы HDD позволяют. Если задуматься - а сколько на диске занимают игрушки...
|
20.05.2019, 02:44 | #4 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,872
|
Цитата:
Но что вы подразумеваете под "хранить каждый проект в отдельной папке"? Если я правильно понял, то вам нужно иметь список всех модулей во всех проектах. И каждый раз, найдя ошибку, исправлять её во всех "проектах". |
|
20.05.2019, 08:52 | #5 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 20.05.2019 в 08:54. |
|
20.05.2019, 12:41 | #6 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Тут у каждого - в зависимости от... Мне в последние 5..7 лет работать со сложными проектами не приходилось. Так, по мелочам для себя чего-нить настрогать. Поэтому, создавая новый, копирую всю папку подходящего в другую, там его допиливаю под новую хотелку - и вот оно. Инкапсуляция, мать ити Каждый живет своей жизнью, не мешая другому, и запутаться в модулях не выйдет даже если захочешь.
Конечно, для сложного многопрограммного комплекса мой совет не годится, как " ... бейте лампочки в подъездах - Вы поможете народу Электричество беречь" поэтому я беру его обратно. Последний раз редактировалось digitalis; 20.05.2019 в 12:43. |
21.05.2019, 03:01 | #7 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,872
|
Прекрасно вас понимаю, digitalis.
Сам подчас так и поступал. Вот только постоянно бередит душу та самая бритва Оккама. Ну и работа над ошибками. А куда без них. Мы же не боги! Легче исправить ошибку а одном модуле/файле, чем в нескольких (хрен знает где расположенных). |
21.05.2019, 09:58 | #8 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Согласен. Если найдена ошибка - прошерстить все модули и исправить представляет определенную трудность, но не ультратяжкую, учитывая отлично организованный механизм поиска в Винде или ТК. Но у палки есть другой конец: исправив модуль под одну программу, "как наше слово отзовется" в других, его использующих? Не факт, что в лучшую сторону. Конечно, речь не идет об явных ошибках, а об особенностях работы модуля: здесь его фича тормозит, а вот здесь - как влитая.
|
21.05.2019, 10:45 | #9 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
niockasd
При переносе pas файлов в папки надо удалить все DCU файлы так как в них прописаны пути к старым папками. При компиляции они не заменяются, а при работе ждите конфузов. digitalis Есть у меня проект. Библиотека из десятка модулей. Так вот к библиотеке ещё пару десятка примеров. Проект старый и к тому времени было решено что пора его переписать. Переделать архитектуру. Очень долго возился. Так вот проблема была в том что когда начал все примеры перестали работать. А ещё больше времени ушло на отладку так как каждый пример требовал отладки. Мало того что его требовалось переписать. Так ошибки были и в примерах. И в старом коде и даже в новом коде тоже были ошибки. А сейчас подумываю перевести всё это дело с классов на интерфейсы. Держать проще в отельных папках и дублировать код. Но вот когда нужно сделать качественно а ни абы как. Тут уже приходится делать общие юниты. Но вот вчера оценив затраты на добавления юнитов взял да и скопировал все функции в общий dpr-файл.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
21.05.2019, 12:27 | #10 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Может, не сто'ит забивать голову столь сложными материями? Лето, солнышко, шашлыки, холодное пиво... Жизнь прекрасна - что удивительно.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Скрипт, который считает количество файлов в каждой папке, находящихся в данной папке | 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 |