|
|
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Добрый день. частенько код обработки (нажать на батон к примеру) занимает несколько сот строк, приходится переность код в отдельный модуль. при этом нужно добавлять кучу ссылок на основную форму (типа: uMainForm.Memo1.Text) что несколько утомляет. Вопрос : нет ли способа в РАД ХЕ10 как то это дело ускорить, типа автоматизировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 17:22 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Pcrepairпри этом нужно добавлять кучу ссылок на основную форму (типа: uMainForm.Memo1.Text) что несколько утомляет. Это должно не просто утомлять, а приводить к отрыванию рук и увольнению за профнепригодность. Код, обращающийся к текущей форме, должен быть методом формы. Код, обращающийся к компоненту, вызвавшему обработчик, должен использовать Sender. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 17:30 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
попрошу отвечать по существу заданного вопроса, а не засорять форум личным ... потоком сознания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 17:48 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Есть. CTRL+X, CTRL+V ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 18:01 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Pcrepairпопрошу отвечать по существу заданного вопроса, а не засорять форум личным ... потоком сознания. Попробуй прочитать моё сообщение чуть дальше первой строки. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 18:06 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Pcrepair, врятли найдешь что-то такое готовое, потому что так никто не делает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 18:16 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
PcrepairДобрый день. частенько код обработки (нажать на батон к примеру) занимает несколько сот строк, приходится переность код в отдельный модуль. при этом нужно добавлять кучу ссылок на основную форму (типа: uMainForm.Memo1.Text) что несколько утомляет. Вопрос : нет ли способа в РАД ХЕ10 как то это дело ускорить, типа автоматизировать. Если коротко, то сначала стоит разобраться почему у тебя не получается перенести код, почитать про сильное связывание кода. Ещё один вероятный ответ - тебе не нужно этого делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 18:48 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Pcrepairпопрошу отвечать по существу заданного вопроса, а не засорять форум личным ... потоком сознания.тебе дали конкретный совет. Если ты его не понял, то меняй профессию))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 19:12 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
попрошу отвечать по существу заданного вопроса, а не засорять форум личным ... потоком сознания. и это всех касается для особо одаренных повторю ВОПРОС : нет ли способа в РАД ХЕ10 как то это дело ускорить, типа автоматизировать. не надо давать глупых советов, надо ответить по существу вопроса или просто помолчать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 19:45 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Pcrepair, для перпноса кода между модулями и классами есть отличный бесплатный инструмент: MMCE . Только тебе придется разобраться, как им пользоваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 20:01 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Pcrepairнет ли способа в РАД ХЕ10 как то это дело ускорить, типа автоматизировать. Ответ: НЕ ДЕЛАТЬ ЭТО вообще - гораздо быстрее, чем делать это любым способом. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 20:02 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Pcrepair, Напиши хелпер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 20:06 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Pcrepairне надо давать глупых советов, надо ответить по существу вопроса или просто помолчать Предлагаю такой слегка колхозный вариант: передай все используемые компоненты формы в твою процедуру как параметры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 20:35 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Pcrepair, А разве можно описание класса раскидать на модули? Все методы класса будут всегда в одном модуле собраны. Я даже никогда и не задумывался над этим, ибо это кажется совершенно естественным. А значит, и автоматизация по их созданию всегда будет крутиться внутри одного модуля. А вот какие полотна внутри будете писать, всё ли прямо тут опишете, или сошлетесь на другую функцию, которая где-то там лежит - личное дело разработчика. И что тут вообще автоматизировать-то, непонятно. Чем нам могут тут разработчики IDE помочь-то? Вот надо нам баттон.Onclick, мы щелкаем, IDE создаст его, пустое тело, естественно, в этом же модуле. Что еще нужно от IDE? И вообще: я раньше парился парился насчет того, что надо разбивать содержимое функций класса на как можно больше модулей как можно меньшего размера, а глянул VirtualTreeview, да и успокоился :) Там 40 тыс строк, и всё в одном VirtualTrees.pas. :) Также и относительно темы, что надо отделять функционал от визуала: оно, вроде, правильно, но как-то муторно получается. Хотя, должно быть очень полезно. Хотя, может, привычка нужна только, и дальше пойдет как по маслу, не знаю. И, кстати, форум не Ваш личный, так кто что хочет, тот то и пишет, автор топика не вправе указывать, только злой модератор, его все боятся, да :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 21:07 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
А вот это немного не по теме, но, мне кажется, в тему будет: :)) Меня как-то один программист огорошил (пользуется MS SQL, визуал пишет на FoxPro, товарищ серьезный и написал, вроде, много хороших программ). Ваш Delphi, говорит, как-то неправильно всё автоматизирует. Описания функций, реагирующих на события, говорит, у вас принадлежат не компонентам, которые их используют, а форме, на которой лежат эти компоненты. Это ж, говорит, неправильно, это ж чушь какая-то :) Все OnClick, говорит, должны принадлежать тому компоненту, на клик которого они реакцию и описывают. Я тогда и не нашелся, что ему ответить, с перепугу, с лету, такой авторитет, всё-таки. Только дома переварил и как-то смог сформулировать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 21:17 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
V.Borzov, Так-то он дело говорит. Подписочная модель (когда на одно и то же событие подписываются и реагируют разные независимые друг от друга объекты) популярна во многих современных языках. Можно даже сказать, что это является трендом и общепринятым путем. И у делфи в этом плане есть ограничения типа невозможности без костылей добавить несколько обработчиков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 22:14 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
V.BorzovА вот это немного не по теме, но, мне кажется, в тему будет: :)) Меня как-то один программист огорошил (пользуется MS SQL, визуал пишет на FoxPro, товарищ серьезный и написал, вроде, много хороших программ). Ваш Delphi, говорит, как-то неправильно всё автоматизирует. Описания функций, реагирующих на события, говорит, у вас принадлежат не компонентам, которые их используют, а форме, на которой лежат эти компоненты. Это ж, говорит, неправильно, это ж чушь какая-то :) Все OnClick, говорит, должны принадлежать тому компоненту, на клик которого они реакцию и описывают. Я тогда и не нашелся, что ему ответить, с перепугу, с лету, такой авторитет, всё-таки. Только дома переварил и как-то смог сформулировать... Да, было бы классно не тупо лепить контролы, а строить интерфейс из их наследников. Вообще-то, и в Delphi даже были подвижки в данном направлении - например, использование фреймов: ты агрегируешь не просто готовые TFrame, а собственную ("визуальную"!) реализацию наследника класса TFrame, что весьма круто и порой очень удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 22:24 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
JaDiV.Borzov, Так-то он дело говорит. Подписочная модель (когда на одно и то же событие подписываются и реагируют разные независимые друг от друга объекты) популярна во многих современных языках. Можно даже сказать, что это является трендом и общепринятым путем. И у делфи в этом плане есть ограничения типа невозможности без костылей добавить несколько обработчиков. Мне кажется, речь не просто о механизме реакции на события, а в целом о настройке поведения элемента в наследнике класса элемента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 22:28 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
JaDi, Ну да, если надо перехватить OnClick, то он сохраняем ссылку на его текущую процедуру, втыкаем свою. Когда срабатывает, попадает в наш OnClick, где мы, на свой страх и риск, кстати, исполняем сначала тот, что торчал до нас там, а потом свой. А как другие делают? Наверное, что-то вроде подписки на FreeNotification? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 22:30 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Фэйтл ЭраВообще-то, и в Delphi даже были подвижки в данном направлении - например, использование фреймов: ты агрегируешь не просто готовые TFrame, а собственную ("визуальную"!) реализацию наследника класса TFrame, что весьма круто и порой очень удобно. Направление мысли правильное. Следующий шаг, интерфейс описывается языком контролов или даже фреймов с контролами, а языком функциональных фреймов, абстрагированным от конкретной реализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 22:39 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
asviridenkov...Следующий шаг, интерфейс описывается языком контролов или даже фреймов с контролами, а языком функциональных фреймов, абстрагированным от конкретной реализации. Мне кажется, это убивает "магию формошлепства", хотя и увеличивает надежность приложения. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 22:43 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
JaDi, Да, когда баловался своими компонентами, эта проблема вставала в полный рост: надо подписаться на чей-то OnClose, например, или OnClick, или еще какой-нибудь On, и сохраняешь то, что там уже вписано, потом суешь свое. И боишься: а вдруг то, что ты сохранил, чтобы также исполнить, будет принадлежать удаленному объекту... Было бы удобнее просто указать: вот при OnClick еще и мою процедурку выполните... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 22:48 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Фэйтл Эраasviridenkov...Следующий шаг, интерфейс описывается языком контролов или даже фреймов с контролами, а языком функциональных фреймов, абстрагированным от конкретной реализации. Мне кажется, это убивает "магию формошлепства", хотя и увеличивает надежность приложения. :) По мере роста сложности проекта, плюсы перевешивают. Ну и бонусами автоматический порт хоть на другие платформы хоть в веб, легкость смены среды разработки, отсутствие привязки к конкретным библиотекам ну и.т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 22:50 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
asviridenkov...По мере роста сложности проекта, плюсы перевешивают... С этим я согласен, но я говорил о маркетинге. Куда проще добиться от клиента восторга, накидав батонов на форму прямо в его присутствии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 22:57 |
|
||
|
Перенос кода из основной формы в модуль
|
|||
|---|---|---|---|
|
#18+
Фэйтл Эраasviridenkov...По мере роста сложности проекта, плюсы перевешивают... С этим я согласен, но я говорил о маркетинге. Куда проще добиться от клиента восторга, накидав батонов на форму прямо в его присутствии. Да в общем то кидательство сохраняются, только кидаются не контролы а функциональные фреймы. В каком-то смысле еще более RAD получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 23:08 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39728265&tid=2040136]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 347ms |

| 0 / 0 |
