|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.08.2010, 22:43 | #1 |
Регистрация: 09.08.2010
Сообщений: 3
|
Разделение кода на части
здраствуйте. я работаю с дельфи 6. сейчас у меня около 7000 строк кода и навигация между всеми этими процедурами становится сложновата. как можно проект разделить на части? например: в одну положить все, что касается событий формы, в другую загрузку, в третью графику, в четвертую обработку событий...
|
21.08.2010, 22:46 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Для этого созданы units (модули)
|
22.08.2010, 10:28 | #3 |
Регистрация: 09.08.2010
Сообщений: 3
|
да, я пробовал их включать. но не разобрался со структурой. как мне перетащить процедуру в другой юнит и использовать его в первом? что писать в заголовке юнита и процедуры?
|
22.08.2010, 10:43 | #4 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
Создаешь новый юнит, и в нем пишешь свои процедуры (если надо подключив другие юниты). В основной форме тоже подключать созданный юнит надо. Вот тебе пример маленький:Демо.rar
Никогда не знаешь, где тебе повезет... (Фрай)
|
22.08.2010, 15:33 | #5 |
Регистрация: 09.08.2010
Сообщений: 3
|
о, большое спасибо. теперь все ясно
|
14.07.2017, 12:35 | #6 |
Пользователь
Регистрация: 28.08.2009
Сообщений: 90
|
сорри за археологию, вопрос по теме:
как вынести событие компонента в отдельный юнит? как только выношу, сразу основная форма ругается [dcc32 Error] main.pas(355): E2065 Unsatisfied forward or external declaration: 'TForm1.com1Updates' |
14.07.2017, 12:40 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Эти процедуры все равно должны быть объектного типа. Что даст их перенос в отдельный юнит? Ну а присвоить обработчик другого объекта можно, программно например
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
14.07.2017, 12:43 | #8 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
процедуру-событие вынести не можно. Но можно написать новую процедуру в новом модуле, и которую ИСПОЛЬЗОВАТЬ в "старой" процедуре-событии.
Код:
Код:
программа — запись алгоритма на языке понятном транслятору
|
14.07.2017, 13:04 | #9 |
Пользователь
Регистрация: 28.08.2009
Сообщений: 90
|
да про вложенные процедуры думал, но получается целая цепочка и усложняет код.
там еще в событии разные параметры от компонента приходят, в итоге новую процедуру придется делать со входящими параметрами, котоыре не всегда используются. вобщем, думал просто вынести события этого компонента в отдельный файл, а получается, что без танцев с бубном не сделать красиво причем, пробовал просто вкладывать текстовый файл с отдельным исходником черех {$I... , и все равно ругается. |
14.07.2017, 14:36 | #10 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
(и как наиболее простой говно-вариант. одно свойство наша форма). Как продвинутый говно-код класс с обратной связью на property OnGetData: TNotifyEvent; разбить супер-процедуру на нужное число более мелких процедур с разными вариантами параметров и вызывать их из события по необходимости. Код:
программа — запись алгоритма на языке понятном транслятору
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разделение массива данных на части | Евгений К. | Microsoft Office Excel | 2 | 03.06.2010 13:41 |
JS для скрытия части кода | lukoie | JavaScript, Ajax | 3 | 29.01.2010 09:34 |
Замена части кода при отключённом JavaScript в браузере | DJ Triton | PHP | 7 | 18.08.2009 19:47 |
разделение кода на состовляющие | world12_tk | Помощь студентам | 3 | 04.04.2009 19:33 |
разделение формы на 4 части | za4ot | Общие вопросы Delphi | 2 | 03.07.2008 12:12 |