Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3      [все]
 Перенос кода из основной формы в модуль  [new]
Pcrepair
Member

Откуда:
Сообщений: 667
Добрый день.
частенько код обработки (нажать на батон к примеру) занимает несколько сот строк, приходится переность код в отдельный модуль.
при этом нужно добавлять кучу ссылок на основную форму (типа: uMainForm.Memo1.Text) что несколько утомляет.

Вопрос : нет ли способа в РАД ХЕ10 как то это дело ускорить, типа автоматизировать.
5 ноя 18, 17:22    [21724371]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 46095

Pcrepair
при этом нужно добавлять кучу ссылок на основную форму (типа: uMainForm.Memo1.Text) что
несколько утомляет.

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

Код, обращающийся к текущей форме, должен быть методом формы.
Код, обращающийся к компоненту, вызвавшему обработчик, должен использовать Sender.

Posted via ActualForum NNTP Server 1.5

5 ноя 18, 17:30    [21724380]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Pcrepair
Member

Откуда:
Сообщений: 667
попрошу отвечать по существу заданного вопроса, а не засорять форум личным ... потоком сознания.
5 ноя 18, 17:48    [21724402]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3845
Есть. CTRL+X, CTRL+V
5 ноя 18, 18:01    [21724414]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 46095

Pcrepair
попрошу отвечать по существу заданного вопроса, а не засорять форум личным ... потоком
сознания.

Попробуй прочитать моё сообщение чуть дальше первой строки.

Posted via ActualForum NNTP Server 1.5

5 ноя 18, 18:06    [21724421]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2885
Pcrepair,

врятли найдешь что-то такое готовое, потому что так никто не делает.
5 ноя 18, 18:16    [21724434]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Dimonka
Member

Откуда:
Сообщений: 1091
Pcrepair
Добрый день.
частенько код обработки (нажать на батон к примеру) занимает несколько сот строк, приходится переность код в отдельный модуль.
при этом нужно добавлять кучу ссылок на основную форму (типа: uMainForm.Memo1.Text) что несколько утомляет.

Вопрос : нет ли способа в РАД ХЕ10 как то это дело ускорить, типа автоматизировать.

Если коротко, то сначала стоит разобраться почему у тебя не получается перенести код, почитать про сильное связывание кода.

Ещё один вероятный ответ - тебе не нужно этого делать.
5 ноя 18, 18:48    [21724465]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
asutp2
Member

Откуда: Тюмень
Сообщений: 330
Pcrepair
попрошу отвечать по существу заданного вопроса, а не засорять форум личным ... потоком сознания.
тебе дали конкретный совет. Если ты его не понял, то меняй профессию)))
5 ноя 18, 19:12    [21724483]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Pcrepair
Member

Откуда:
Сообщений: 667
попрошу отвечать по существу заданного вопроса, а не засорять форум личным ... потоком сознания.
и это всех касается

для особо одаренных повторю ВОПРОС : нет ли способа в РАД ХЕ10 как то это дело ускорить, типа автоматизировать.

не надо давать глупых советов, надо ответить по существу вопроса или просто помолчать
5 ноя 18, 19:45    [21724517]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Фэйтл Эра
Member

Откуда:
Сообщений: 75
Pcrepair,

для перпноса кода между модулями и классами есть отличный бесплатный инструмент: MMCE.
Только тебе придется разобраться, как им пользоваться.
5 ноя 18, 20:01    [21724535]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 46095

Pcrepair
нет ли способа в РАД ХЕ10 как то это дело ускорить, типа автоматизировать.

Ответ: НЕ ДЕЛАТЬ ЭТО вообще - гораздо быстрее, чем делать это любым способом.

Posted via ActualForum NNTP Server 1.5

5 ноя 18, 20:02    [21724536]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
ziv-2014
Member

Откуда:
Сообщений: 140
Pcrepair,
Напиши хелпер.
5 ноя 18, 20:06    [21724539]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Dimonka
Member

Откуда:
Сообщений: 1091
Pcrepair
не надо давать глупых советов, надо ответить по существу вопроса или просто помолчать

Предлагаю такой слегка колхозный вариант: передай все используемые компоненты формы в твою процедуру как параметры.
5 ноя 18, 20:35    [21724549]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
V.Borzov
Member

Откуда: Саратов
Сообщений: 249
Pcrepair,
А разве можно описание класса раскидать на модули? Все методы класса будут всегда в одном модуле собраны. Я даже никогда и не задумывался над этим, ибо это кажется совершенно естественным. А значит, и автоматизация по их созданию всегда будет крутиться внутри одного модуля. А вот какие полотна внутри будете писать, всё ли прямо тут опишете, или сошлетесь на другую функцию, которая где-то там лежит - личное дело разработчика. И что тут вообще автоматизировать-то, непонятно. Чем нам могут тут разработчики IDE помочь-то? Вот надо нам баттон.Onclick, мы щелкаем, IDE создаст его, пустое тело, естественно, в этом же модуле. Что еще нужно от IDE?

И вообще: я раньше парился парился насчет того, что надо разбивать содержимое функций класса на как можно больше модулей как можно меньшего размера, а глянул VirtualTreeview, да и успокоился :) Там 40 тыс строк, и всё в одном VirtualTrees.pas. :)

Также и относительно темы, что надо отделять функционал от визуала: оно, вроде, правильно, но как-то муторно получается. Хотя, должно быть очень полезно. Хотя, может, привычка нужна только, и дальше пойдет как по маслу, не знаю.

И, кстати, форум не Ваш личный, так кто что хочет, тот то и пишет, автор топика не вправе указывать, только злой модератор, его все боятся, да :)
5 ноя 18, 21:07    [21724593]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
V.Borzov
Member

Откуда: Саратов
Сообщений: 249
А вот это немного не по теме, но, мне кажется, в тему будет: :))
Меня как-то один программист огорошил (пользуется MS SQL, визуал пишет на FoxPro, товарищ серьезный и написал, вроде, много хороших программ). Ваш Delphi, говорит, как-то неправильно всё автоматизирует. Описания функций, реагирующих на события, говорит, у вас принадлежат не компонентам, которые их используют, а форме, на которой лежат эти компоненты. Это ж, говорит, неправильно, это ж чушь какая-то :) Все OnClick, говорит, должны принадлежать тому компоненту, на клик которого они реакцию и описывают. Я тогда и не нашелся, что ему ответить, с перепугу, с лету, такой авторитет, всё-таки. Только дома переварил и как-то смог сформулировать...
5 ноя 18, 21:17    [21724602]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3845
V.Borzov,

Так-то он дело говорит. Подписочная модель (когда на одно и то же событие подписываются и реагируют разные независимые друг от друга объекты) популярна во многих современных языках. Можно даже сказать, что это является трендом и общепринятым путем. И у делфи в этом плане есть ограничения типа невозможности без костылей добавить несколько обработчиков.
5 ноя 18, 22:14    [21724656]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Фэйтл Эра
Member

Откуда:
Сообщений: 75
V.Borzov
А вот это немного не по теме, но, мне кажется, в тему будет: :))
Меня как-то один программист огорошил (пользуется MS SQL, визуал пишет на FoxPro, товарищ серьезный и написал, вроде, много хороших программ). Ваш Delphi, говорит, как-то неправильно всё автоматизирует. Описания функций, реагирующих на события, говорит, у вас принадлежат не компонентам, которые их используют, а форме, на которой лежат эти компоненты. Это ж, говорит, неправильно, это ж чушь какая-то :) Все OnClick, говорит, должны принадлежать тому компоненту, на клик которого они реакцию и описывают. Я тогда и не нашелся, что ему ответить, с перепугу, с лету, такой авторитет, всё-таки. Только дома переварил и как-то смог сформулировать...

Да, было бы классно не тупо лепить контролы, а строить интерфейс из их наследников.

Вообще-то, и в Delphi даже были подвижки в данном направлении - например, использование фреймов: ты агрегируешь не просто готовые TFrame, а собственную ("визуальную"!) реализацию наследника класса TFrame, что весьма круто и порой очень удобно.
5 ноя 18, 22:24    [21724669]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Фэйтл Эра
Member

Откуда:
Сообщений: 75
JaDi
V.Borzov,

Так-то он дело говорит. Подписочная модель (когда на одно и то же событие подписываются и реагируют разные независимые друг от друга объекты) популярна во многих современных языках. Можно даже сказать, что это является трендом и общепринятым путем. И у делфи в этом плане есть ограничения типа невозможности без костылей добавить несколько обработчиков.

Мне кажется, речь не просто о механизме реакции на события, а в целом о настройке поведения элемента в наследнике класса элемента.
5 ноя 18, 22:28    [21724673]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
V.Borzov
Member

Откуда: Саратов
Сообщений: 249
JaDi,
Ну да, если надо перехватить OnClick, то он сохраняем ссылку на его текущую процедуру, втыкаем свою. Когда срабатывает, попадает в наш OnClick, где мы, на свой страх и риск, кстати, исполняем сначала тот, что торчал до нас там, а потом свой. А как другие делают? Наверное, что-то вроде подписки на FreeNotification?
5 ноя 18, 22:30    [21724676]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
asviridenkov
Member

Откуда:
Сообщений: 3827
Фэйтл Эра
Вообще-то, и в Delphi даже были подвижки в данном направлении - например, использование фреймов: ты агрегируешь не просто готовые TFrame, а собственную ("визуальную"!) реализацию наследника класса TFrame, что весьма круто и порой очень удобно.


Направление мысли правильное. Следующий шаг, интерфейс описывается языком контролов или даже фреймов с контролами, а языком функциональных фреймов, абстрагированным от конкретной реализации.
5 ноя 18, 22:39    [21724683]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Фэйтл Эра
Member

Откуда:
Сообщений: 75
asviridenkov
...Следующий шаг, интерфейс описывается языком контролов или даже фреймов с контролами, а языком функциональных фреймов, абстрагированным от конкретной реализации.


Мне кажется, это убивает "магию формошлепства", хотя и увеличивает надежность приложения. :)
5 ноя 18, 22:43    [21724687]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
V.Borzov
Member

Откуда: Саратов
Сообщений: 249
JaDi,
Да, когда баловался своими компонентами, эта проблема вставала в полный рост: надо подписаться на чей-то OnClose, например, или OnClick, или еще какой-нибудь On, и сохраняешь то, что там уже вписано, потом суешь свое. И боишься: а вдруг то, что ты сохранил, чтобы также исполнить, будет принадлежать удаленному объекту... Было бы удобнее просто указать: вот при OnClick еще и мою процедурку выполните...
5 ноя 18, 22:48    [21724689]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
asviridenkov
Member

Откуда:
Сообщений: 3827
Фэйтл Эра
asviridenkov
...Следующий шаг, интерфейс описывается языком контролов или даже фреймов с контролами, а языком функциональных фреймов, абстрагированным от конкретной реализации.


Мне кажется, это убивает "магию формошлепства", хотя и увеличивает надежность приложения. :)


По мере роста сложности проекта, плюсы перевешивают. Ну и бонусами автоматический порт хоть на другие платформы хоть в веб, легкость смены среды разработки, отсутствие привязки к конкретным библиотекам ну и.т.д.
5 ноя 18, 22:50    [21724690]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Фэйтл Эра
Member

Откуда:
Сообщений: 75
asviridenkov
...По мере роста сложности проекта, плюсы перевешивают...

С этим я согласен, но я говорил о маркетинге.
Куда проще добиться от клиента восторга, накидав батонов на форму прямо в его присутствии.
5 ноя 18, 22:57    [21724692]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
asviridenkov
Member

Откуда:
Сообщений: 3827
Фэйтл Эра
asviridenkov
...По мере роста сложности проекта, плюсы перевешивают...

С этим я согласен, но я говорил о маркетинге.
Куда проще добиться от клиента восторга, накидав батонов на форму прямо в его присутствии.


Да в общем то кидательство сохраняются, только кидаются не контролы а функциональные фреймы. В каком-то смысле еще более RAD получается
5 ноя 18, 23:08    [21724703]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
DimaBr
Member

Откуда:
Сообщений: 10744
Народ, сегодня ж не пятница, завязывайте демагогию!!!
5 ноя 18, 23:25    [21724713]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Фэйтл Эра
Member

Откуда:
Сообщений: 75
DimaBr,
сегодня еще пятница, последняя из длинных пятниц в этом году.
5 ноя 18, 23:31    [21724717]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1807
Pcrepair,

В отдельном модуле создай TActionList и создавай в нём TActions.
Потом, присваивай TButton.Action:=MyModule.ActionDelete;

Pcrepair
частенько код обработки занимает несколько сот строк

Типичный код, для типичного Делфи "программиста".
Если в кратце, то каждый метод должен состоять не более чем из 3-5 строк кода.
Pcrepair
Вопрос : нет ли способа в РАД ХЕ10 как то это дело ускорить, типа автоматизировать.

Есть.
В меню Refactor -> extract interface/superclass/method.
Но что бы грамотно пользоваться, почитай про модель MVC
6 ноя 18, 10:43    [21724948]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3845
Valery_B
Есть.
В меню Refactor -> extract interface/superclass/method

Код с форм в другой класс/модуль так не перенести, только на ту же самую форму.
6 ноя 18, 10:55    [21724968]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
DimaBr
Member

Откуда:
Сообщений: 10744
Используйте Регионы и проблема длинного кода решится
6 ноя 18, 10:57    [21724970]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
cptngrb
Member

Откуда:
Сообщений: 223
а потом говорят, что delphi не популярна из-за высокой цены IDE... а комьюнити просто прелестно. Какашки, вентилятор, все есть
6 ноя 18, 11:06    [21724985]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2885
Pcrepair,

Когда программист делает что-то противоестественное, он должен максимально страдать. Думаю, что это как раз твой случай. Чем больше страданий - тем ближе путь к катарсису.
6 ноя 18, 11:11    [21724989]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Cane Cat Fisher
Member

Откуда:
Сообщений: 1696
Pcrepair
частенько код обработки (нажать на батон к примеру) занимает несколько сот строк, приходится переность код в отдельный модуль.
при этом нужно добавлять кучу ссылок на основную форму (типа: uMainForm.Memo1.Text) что несколько утомляет.


Если код содержит ссылки на компоненты конкретной формы (uMainForm.Memo1.Text), то его уже не получится использовать из других форм, а только из данной. Поэтому такой перенос кода в отдельный модуль не приведет к повторному использованию кода этого модуля, и смысл может быть только в декомпозиции для удобочитаемости.

Но для этого лучше разбивать код на отдельные методы этой же формы. Если есть иерархия форм - выносить общие методы в предков. Но выносить такой код в модули тут совсем не в тему. Выносить из формы в модули надо только тот код, что не содержит прямых ссылок на компоненты формы.
6 ноя 18, 11:12    [21724991]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1807
Да, про MVC на Делфи-форумах говорить бесполезно.
6 ноя 18, 11:27    [21725009]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
roschinspb
Member

Откуда: С-Пб
Сообщений: 1549
Valery_B
Да, про MVC на Делфи-форумах говорить бесполезно.
Да почему же? Просто в Delphi используются несколько иные термины. dfm-ки это будут представлениями, юниты с формами это контроллеры, а датамодули, или просто юниты без форм будут моделями.
В данном случае есть подозрение, что тема является стебом.
6 ноя 18, 15:25    [21725382]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 3448
Valery_B,

патерн Наблюдатель рулит

но на самом деле в подавляющем большинстве случаев форма уже часть MVC, только Model держится либо в голове либо в БД
6 ноя 18, 15:29    [21725386]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 3448
roschinspb
Да почему же? Просто в Delphi используются ...
он имеет ввиду что продавать чистый воздух в альпийских лугах, бессмысленно :-)
6 ноя 18, 15:37    [21725400]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
roschinspb
Member

Откуда: С-Пб
Сообщений: 1549
V.Borzov
JaDi,
Да, когда баловался своими компонентами, эта проблема вставала в полный рост: надо подписаться на чей-то OnClose, например, или OnClick, или еще какой-нибудь On, и сохраняешь то, что там уже вписано, потом суешь свое. И боишься: а вдруг то, что ты сохранил, чтобы также исполнить, будет принадлежать удаленному объекту... Было бы удобнее просто указать: вот при OnClick еще и мою процедурку выполните...
Обвешивание контролов событиями зачастую приводит к тому, что потом хрен разберешься где что привешено, в трех в пяти местах поменял, а в шестом забыл (и так после десяти итераций). А если гипотетически 10 кликов на каждую кнопку вешать, то вообще ахтунг. Когда надо несколько методов выполнять то гораздо нагляднее вызывать их последовательно в одном onExecute да и историю с системе контроля версий удобнее будет анализировать. Будь на то моя воля, я бы вообще onClick выпилил.
6 ноя 18, 15:45    [21725416]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
AlBor
Member

Откуда: Россия
Сообщений: 154
Valery_B,

Тоже хотел упомянуть. Концепция MVC (Model-View-Controller: модель-вид-контроллер).
Но боюсь тут и сегодня это неуместно. Хотя, и ничего сложного нет.
6 ноя 18, 15:59    [21725443]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Pcrepair
Member

Откуда:
Сообщений: 667
Cane Cat Fisher
Поэтому такой перенос кода в отдельный модуль не приведет к повторному использованию кода этого модуля, и смысл может быть только в декомпозиции для удобочитаемости.


вот именно для удобочитаемости и ни для чего то там другого.
что касается бесплатных советов выносить методы в отдельный модуль, то там где это возможно так и делается.
или что? тут кто то предлагает к примеру циклы оформлять в отдельные процедуры, или там логику ЕСЛИ?

чтоб не создавать лишних тем еще вопрос :
в РАД есть возможность сворачивать код процедур клякнув мышью(ну чтоб поле обзора не занимали). нет ли в РАД канопочки, нажав на которую можно свернуть ВСЕ код всех процедур(ну чтоб не клякать по пять минут, у меня там в некоторых модулях до 50-и процедур, пока все свернешь) ?
6 ноя 18, 16:18    [21725472]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2885
roschinspb,

Я уже довольно давно почти 100% обработчиков веду в экшнах, про OnClick забыл давно, всё OnExecute. Ну а экшн можно клеить почти куда угодно.
6 ноя 18, 16:25    [21725483]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Pcrepair
Member

Откуда:
Сообщений: 667
да, это конечно все клево, экшены и тд. а у таймера чота не нашел Я Action, нетути. иииии?
6 ноя 18, 16:31    [21725490]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 3613
Pcrepair
да, это конечно все клево, экшены и тд. а у таймера чота не нашел Я Action, нетути. иииии?
Это исключение. У таймера можно использовать только TTimer.OnClick.
6 ноя 18, 16:42    [21725514]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1807
Pcrepair
да, это конечно все клево, экшены и тд. а у таймера чота не нашел Я Action, нетути. иииии?


procedure TForm1.Timer1Timer(Sender:TObject);
begin
 MyActions.Timer1Action.Execute;
end;
6 ноя 18, 16:51    [21725528]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Dimonka
Member

Откуда:
Сообщений: 1091
Pcrepair
вот именно для удобочитаемости и ни для чего то там другого.
что касается бесплатных советов выносить методы в отдельный модуль, то там где это возможно так и делается.
или что? тут кто то предлагает к примеру циклы оформлять в отдельные процедуры, или там логику ЕСЛИ?

Тебе всего лишь предлагают разделить код на несколько типов: код для работы с данными, код для работы с визуальным представлением данных, а также реакцией на пользовательские действия.

У тебя похоже пока всё находится в одной куче и скорее всего данные, находящиеся в UI контролах у тебя и есть данные программы. Поэтому ты сталкиваешься с проблемой переносимости частей кода, перегрузкой кода обработчиков событий итд. Может конечно на самом деле у тебя всё иначе, но по сути мы играем в телепатов исходя из твоих вопросов.

В общем пока смирись с тем, что каждый первый тебя воспринимает как очередного агрессивного "формошлёпщика" или какая там нынче терминология? Ты не понимаешь, что делаешь не так, не понимаешь почему это не так и агрессивно отстаиваешь своё "не так". Реабилитироваться пока тебе не удалось.
6 ноя 18, 17:44    [21725634]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
AlexeyM123
Member

Откуда:
Сообщений: 134
вставлю пять копеек

меня например очень впечатлил MVP

http://www.danieleteti.it/a-simple-start-with-mvp-in-delphi-for-win32-part-2/

очень удобная штука
6 ноя 18, 18:09    [21725671]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Pcrepair
Member

Откуда:
Сообщений: 667
автор
Поэтому ты сталкиваешься с проблемой переносимости частей кода, перегрузкой кода обработчиков событий итд

да ни с чем выше перечисленным лично Я не сталкиваюсь. Мой код работает как предначертано и исключений не выдает. просто лень самому ковырять интерфейс РАД в поисках всяких фичей, которых скорее всего и нет.
но... была слабая надежда что кто то это уже раскопал. и вот ее, надежды, уже нет.
6 ноя 18, 18:47    [21725720]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Dimonka
Member

Откуда:
Сообщений: 1091
Pcrepair
автор
Поэтому ты сталкиваешься с проблемой переносимости частей кода, перегрузкой кода обработчиков событий итд

да ни с чем выше перечисленным лично Я не сталкиваюсь. Мой код работает как предначертано и исключений не выдает.

Тут ты либо противоречишь сам себе, либо у тебя нет никаких проблем и тебе не надо ничего переносить в другие модули.

У кода "работа без исключений" только лишь один из параметров качества. А ещё есть такое понятие как "сопровождаемость кода", которое может измеряться временем на устранение найденной ошибки, временем на добавление новой функции, временем на понимание кода для новых людей (или для тебя через длинный промежуток времени).

Pcrepair
просто лень самому ковырять интерфейс РАД в поисках всяких фичей, которых скорее всего и нет.
но... была слабая надежда что кто то это уже раскопал. и вот ее, надежды, уже нет.
Эти фичи находятся не в редакторе, а в изначальной архитектуре/дизайне кода.
6 ноя 18, 19:55    [21725815]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2885
Pcrepair,

автор
Мой код работает как предначертано и исключений не выдает. просто лень самому ковырять интерфейс РАД в поисках всяких фичей, которых скорее всего и нет.


Если всё замечательно работает, зачем вообще куда-то что-то переносить? Тем более описанным тобой способом? Пусть лежит на форме, раз уж так сделал, зачем бабку колошматить...
6 ноя 18, 20:12    [21725832]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
asutp2
Member

Откуда: Тюмень
Сообщений: 330
Pcrepair
Мой код работает как предначертано
Шикарные слова!) Нацарапаю гвоздиком на мониторах, чтобы не забыть!
7 ноя 18, 04:15    [21726028]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
roschinspb
Member

Откуда: С-Пб
Сообщений: 1549
Pcrepair
да, это конечно все клево, экшены и тд. а у таймера чота не нашел Я Action, нетути. иииии?
ииии OnClick тоже нету! Кстати есть Application.ActionUpdateDelay, не все знают, но может в некоторых случаях помочь отказаться от таймеров.
+
Если по-рассуждать на концептуальные темы, то конечно нет ни какой проблемы прикрутить Action и к таймеру. И можно было бы еще сделать вызов OnUpdate OnExecute асинхронным, чтобы можно было безопасно разрушить контрол вызвавший действие в обработчике.


К сообщению приложен файл. Размер - 11Kb
7 ноя 18, 10:40    [21726229]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Василий 2
Member

Откуда:
Сообщений: 234
Pcrepair
чтоб не создавать лишних тем еще вопрос :
в РАД есть возможность сворачивать код процедур клякнув мышью(ну чтоб поле обзора не занимали). нет ли в РАД канопочки, нажав на которую можно свернуть ВСЕ код всех процедур(ну чтоб не клякать по пять минут, у меня там в некоторых модулях до 50-и процедур, пока все свернешь) ?

Есть, ищи в key mappings. Там много полезных команд
12 ноя 18, 11:38    [21731555]     Ответить | Цитировать Сообщить модератору
 Re: Перенос кода из основной формы в модуль  [new]
Василий 2
Member

Откуда:
Сообщений: 234
V.Borzov
И вообще: я раньше парился парился насчет того, что надо разбивать содержимое функций класса на как можно больше модулей как можно меньшего размера, а глянул VirtualTreeview, да и успокоился :) Там 40 тыс строк, и всё в одном VirtualTrees.pas. :)

Начинай беспокоиться снова, VTV поделился, причем уже довольно давно :).
12 ноя 18, 12:05    [21731591]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3      [все]
Все форумы / Delphi Ответить