Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];

Вниз

Создание разделенной по файлам программы.   Найти похожие ветки 

 
mashinist   (2002-03-01 21:11) [0]

Необходимо создать программу с родительской формой и несколькими дочерними формами.
Причем так, чтобы каждая дочерняя форма занимала отдельный файл на диске. То есть, чтобы
программу можно было обновлять не полностью, а некоторыми частями. Программа работает
на одном компьютере. По какой технологии мне это делать ? Клиент-сервер, COM, потоки данных ?
Как ? Если можно, то ссылки или примеры. В моей деревне такой литературы нет. Помогите !
Благодарен за любой намек и совет.


 
Фэ   (2002-03-01 21:19) [1]

1.А Вы уверены, что понимаете разницу между приложением и формой ?
Впрочем никто и ничто Вам не мешает создать главное приложение и сонм дочерних приложений, вызываемых из главной.
2. А Вы уверены, что все перечислили? (Клиент-сервер, COM, потоки данных...).
3.А Вы уверены, что это лучшее решение - иметь десяток-другой отдельных проектов-приложений и вести их параллельно в рамках одной темы ?
4. И что это такое эпохальное, работающее на одном компьютере, Вы громоздите ?

Объясните задачу точнее и получите рекомендации.


 
Sasha9   (2002-03-01 21:30) [2]

используй DLL


 
mashinist   (2002-03-01 21:53) [3]

Насколько я знаю, DLL не содержит описания форм, кнопок и прочей беды.
Мне просто необходимо, чтобы была возможность обновлять одну часть программы, не затрагивая при этом главной ее части. То есть, что бы при обновлении программы переписывать только одну ее часть (дочернюю форму).
Проект не нов. Он существует под ДОС для моего предприятия. Смысл - тот же. Главная форма и 6-8 штук дочерних. По нутренней почте обновляются отдельные дочерние отдельными файлами. Как ? Хочу обойти программистов нашего предприятия по полной программе, а не отдельными выскочками, типа расчета параметров работы центробежного нагнетателя природного газа. Надоело мне работать технарем. Душа просится программировать.


 
Иван Шихалев   (2002-03-01 22:01) [4]

Для вынесения форм и любых других классов следует использовать BPL, или для совместимости с различными языками - COM. Можно использовать и DLL (не COM), но передавать не классы, а интерфейсы (тот же COM, но без регистрации в реестре и проч.). Только вот каждая форма в отдельном файле - это лишнее. Лучше формировать более крупные логически цельные пакеты.


 
Фэ   (2002-03-01 22:05) [5]

Извините конечно, но мне кажется что "обойти по полной программе" Вам не скоро удасться.
Как правило, проект создается как отдельное приложение(или технологическая связка нескольких приложений) + необязательный набор внешних файлов (DLL или др.).
Ничего страшного в перекомпиляции проекта при изменении отдельной буквы в маленькой форме нет.
Формы и так у Вас являют собой отдельные файлы в проекте, но не в приложении.
Совершенно нормальным является сотня форм в проекте и не переживайте по этому поводу.
Разделение проекта на ряд отделных приложений может быть оправдано при создании специализированных рабочих мест работающих с одной базой, да и все равно проще это делать через настройку прав пользователей.


 
mashinist   (2002-03-01 22:20) [6]

Спасибо Огромное.
В том и смысл, что создать подобную программу, причем на более высоком уровне. Это для меня не проблема. Я даже соглашусь на единственный файл программы. Мне теперь уже просто интересно, возможно ли подобное вообще средствами Delphi ?


 
Иван Шихалев   (2002-03-01 22:21) [7]

Именно средствами Delphi - BPL.


 
mashinist   (2002-03-01 22:22) [8]

То есть ?
А если на рабочей машине нет Delphi - Работать будет ?


 
Иван Шихалев   (2002-03-01 22:27) [9]

Те BPL, которые указаны в "Build with run-time packages", естественно, следует устанавливать вместе с программой. Все прочие - не нужны, как и сама Delphi IDE.


 
mashinist   (2002-03-01 22:30) [10]

Но ! Тогда исходный код - как на ладони. А это нежелательно. Есть ли выход ?


 
Иван Шихалев   (2002-03-01 22:38) [11]

Выходом могут быть COM-библиотеки. Кроме того, я уже говорил о том, что не каждую форму стоит выносить в отдельный пакет. Выделяем обособленную часть программы и экспортируем из пакета только ее интерфейс, а декларацию классов, реализующих логику, оставляем за кадром.

Еще вариант - "независимые" приложения, которые общаются друг с другом через OLE, DDE или оконные сообщения (а также mapped files etc.).


 
mashinist   (2002-03-01 22:40) [12]

Вот это я и хотел узнать. Спасибо !



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
1-57399
Alex Dobrushin
2002-02-27 17:57
2002.03.18
Синхронизация каталогов


1-57343
VS
2002-03-01 07:01
2002.03.18
Как закрыть активное приложение зная его exe-файл


1-57392
AlexMey
2002-03-01 15:33
2002.03.18
Можно ли отчёт QReport экспортировать в Word?


7-57535
Ruslan2
2001-12-15 20:54
2002.03.18
Модем


1-57389
lipskiy
2002-03-01 16:26
2002.03.18
Можно ли отодрать ресурсы от ехешника?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский