5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
||||||||||||||||
1 | ||||||||||||||||
Вызов процедуры из другого модуля17.11.2015, 13:42. Показов 2086. Ответов 13
Метки нет (Все метки)
Доброго времени суток!
Имеется форма с компонентами Stringgrid, Memo, Checkbox и т.п. Код сильно разросся, решил перенести его в другой Unit2, оставив в главном Unit1 только вызов процедур. Но не получается грамотно, есть ошибки. Unit1.
0
|
17.11.2015, 13:42 | |
Ответы с готовыми решениями:
13
Вызов процедуры из другого модуля Вызов процедуры из другого модуля Вызов процедуры-члена объекта из другого модуля Вызов конструктора из другого модуля |
17.11.2015, 14:14 | 3 |
не очень хорошая практика
выносить нужно то. что напрямую не связано с формой, всякие вспомогательные утилиты также подозреваю, что весь код упирается в работу с экранными компонентами вместо модели данных, которая тоже обычно живет в другом модуле так что лучше рефакторить код, чем измышлять такие странные вещи
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
|
17.11.2015, 14:24 [ТС] | 4 |
DenNik, в USES все подключено. Я просто думал, что порядок описания Unit-Interface-Procedure- ... нарушил, ведь это критично.
krapotkin, Да, вы правы, все "вертится" вокруг экранных компонентов. Разве нельзя как-то использовать одну форму и на нее ссылаются два модуля? Я не нашел другого способа как промежуточные данные хранить в Memo и StringGrid.
0
|
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
17.11.2015, 14:28 | 5 |
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
||||||
17.11.2015, 14:41 [ТС] | 6 | |||||
mss,
0
|
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
17.11.2015, 15:11 | 7 |
И при этом ты утверждаешь что компиляция юнита Unit2 завершается с ошибкой
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
|
17.11.2015, 15:30 [ТС] | 8 |
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
|
17.11.2015, 15:30 [ТС] | 9 |
Я закомментировал код, так как большой лог ошибок, который ссылается на каждый вызов Memo1.Lines
0
|
Житель Земли
|
|
17.11.2015, 15:32 | 10 |
uses помести в interface
не тормози! Добавлено через 1 минуту тут блин визуально видно же! упоминание на СтрингГрид в пятой строке, а подключение модуля - в 10! и как компилятору прикажешь работать?
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
||||||
17.11.2015, 15:49 [ТС] | 11 | |||||
DenNik, бывает, главное мне научится ...
/*-----*/ Виноват, все работает. Видимо я где-то напортачил при объявлении, потому что ранее вот такой код не работал, к сожалению:
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
|||||||||||
17.11.2015, 17:03 [ТС] | 13 | ||||||||||
DenNik, Я имел ввиду, что пришлось вместо:
0
|
17.11.2015, 21:56 | 14 |
Компоненты в делфи - это средство взаимодействия с пользователем
в мемо строки отображаются и редактируются но программа эти строки должна хранить например в TStringList а как сервера работают? там вообще форм нету. На чем твои мемо будут лежать? Чекбокс - это визуальный компонент, который отображает некое состояние программа хранит это состояние как boolean зачем целый компонент, если это одна переменная типа boolean??? и далее по списку и форм никаких не надо передавать. Передавать нужно ДАННЫЕ. Данные хранятся В ПЕРЕМЕННЫХ Добавлено через 1 минуту procedure Xls_Open(XLSFile:string; arr:TMyStringArray; state:boolean; text : TStringList);
0
|
17.11.2015, 21:56 | |
17.11.2015, 21:56 | |
Помогаю со студенческими работами здесь
14
Вызов функций из другого модуля Вызов процедуры OnClick из модуля без формы Вызов процедуры из другого файла Вызов процедуры из модуля Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |