
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
21.06.2019, 12:43
|
|||
|---|---|---|---|
|
|||
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
У меня есть динамически создаваемая форма, пусть будет Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Вызываю ее из 1-й формы простым OpenFrm2 (все лишнее убрал, код максимально упростил) В этом же юните, где определена TFrm2 (или в другом, не важно), определен класс Код: pascal 1. 2. 3. 4. 5. 6. 7. Создаю объект этого из юнита, где определен TFrm2: Код: pascal 1. 2. 3. 4. 5. Так вот вопрос, как из созданного объекта обратиться к методам (процедурам) TFrm2? (Self as TFrm2).SomeProc - вообще не то, но мысль, думаю, довел. Направьте, плз, где смотреть, куда читать или если не сложно - лучше пример. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 12:49
|
|||
|---|---|---|---|
|
|||
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
ЯНХНП Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 12:53
|
|||
|---|---|---|---|
|
|||
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 13:20
|
|||
|---|---|---|---|
|
|||
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
zinpub, автор(Owner as TFrm2).SomeProc не работает, подчеркивает и говорит "Undeclared identifier 'Owner') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 13:26
|
|||
|---|---|---|---|
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
Owner — свойство TComponent, так что нужно либо TMyclass наследовать от TComponent, либо сохранять аргумент конструктора (AOwner) как поле объекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 13:30
|
|||
|---|---|---|---|
|
|||
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
RWolfлибо сохранять аргумент конструктора (AOwner) как поле объекта. Только что так и сделал. Спасибо за разъяснения! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 13:35
|
|||
|---|---|---|---|
|
|||
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
afordТолько что так и сделалА почему бы не сделать так? Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 14:00
|
|||
|---|---|---|---|
|
|||
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
_Vasilisk_, можно и так, не принципиально, напрямую или через TObject как у меня, разве что придется присваивать потом в OnCreate Код: pascal 1. Я вообще все это затеял, чтобы написатть юнит с объектом для программы с формой и для службы. Только надо чтобы он еще и лог выводил, и тому и тому. Вот сижу думаю как лучше сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 14:09
|
|||
|---|---|---|---|
|
|||
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
лучше всё таки наследоваться от TComponent, как уже сказали выше, а не создавать объект с нуля. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 14:53
|
|||
|---|---|---|---|
|
|||
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
Мимопроходящий, точно, тогда поле FOwner не надо создавать. А потом так Код: pascal 1. 2. 3. 4. 5. Только как сделать запись лога в службу, там же Owner другой будет. Можно конечно и так Код: pascal 1. 2. Но тогда придется в uses прописывать и тот модуль и тот, что как-то нелогично, может объявить какой-то перехватчик сообщений объекта в программе и службе, или .. ну это уже другой вопрос. Всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 15:15
|
|||
|---|---|---|---|
|
|||
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
унаследуй TFrm1 и TSrv1 от общего предка, в котором создай виртуальный метод AddLog(). а в TFrm1 и TSrv1 перекрой этот метод конкретными реализациями. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 15:26
|
|||
|---|---|---|---|
|
|||
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
afordТолько как сделать запись лога в службу, там же Owner другой будет.Вот здесь нужны интерфейсы в чистом виде. И тогда не нужно Никаких приведений типов и никаких форм Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 15:39
|
|||
|---|---|---|---|
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 16:52
|
|||
|---|---|---|---|
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
Формы - это представления. Зачем одному представлению вызывать методы другого представления, да еще и к свойствам обращаться? Они ничего не должны знать друг о друге. Вы нарушаете DIP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2019, 22:46
|
|||
|---|---|---|---|
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
X-CiteФормы - это представления. Формы - это формы. Ваши представления о том, что формы - это представления, не более чем один из многих возможных вариантов. X-CiteОни ничего не должны знать друг о друге. Вы нарушаете DIP. Во-первых, знания форм друг о друге не имеют отношения к DIP. А во-вторых, нужен ли в приложении автора DIP - мягко говоря, бабушка надвое сказала. По вопросу видно, что у него каша в голове и пока что не выработано базовое понимание многих вещей.... и если он ещё DIP попробует впихнуть куда не надо и как осилит... Ко всему надо приходить в своё время. В том числе к использованию DIP. А потом и к пониманию, что использовать его надо далеко не всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2019, 01:09
|
|||
|---|---|---|---|
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
Если в приложении всего две дельфийские формы, и одна из них обращается к членам другой, на первый взгляд ничего страшного. Но со временем приложение обязательно разрастется до сотен форм, и понадобится веб - реализация. Вот тогда-то и станет ясно, что логику надо было держать отдельно от представления. Но поздно будет. Поэтому надо сразу строить монстроидов в соответствии со светлым учением о MVC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2019, 01:30
|
|||
|---|---|---|---|
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
ёёёёёНо со временем приложение обязательно разрастется до сотен форм Ложь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2019, 01:34
|
|||
|---|---|---|---|
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
DimaBr, истина, вот те крест. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2019, 09:34
|
|||
|---|---|---|---|
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
ёёёёёистина, вот те крест. Такая же ложь, как и крест. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.06.2019, 08:56
|
|||
|---|---|---|---|
|
|||
Обращение к методам и полям формы из только что созданного объекта |
|||
|
#18+
Я пока не знаю что такое DIP, все сделал через интерфейсы, мне всего лишь надо было сделать отедльный юнит для формы и службы, чтобы не переписывать его 2-й раз отдельно для службы) Насчет каши в голове - не отрицаю)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&tablet=1&tid=2039343]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
147ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 445ms |

| 0 / 0 |
