|
|
|
управление одной формы из кода другой
|
|||
|---|---|---|---|
|
#18+
Добрый день. Понимаю что вопрос дурацкий, но никак разобраться не могу. Есть у меня 12 схожих форм: MyForm1 ,MyForm2,MyForm3 ... я хочу орнанизовать поиск (или фильтр) в другой форме :frmFind,пишу код в frmFind : MyForm1.dw_1.Filtr("Cod=10") ,но мне нужно применять ту же форму для поиска и в MyForm2 и в MyForm3... Select Case пользоваться не хочу. Hе стороить же мне 12 новых форм поиска :) . Есть ли способ передавать в форму объект ,как это например в .NET object myObject myObject.dw_1.Filtr("Cod=10") т.е форма frmFind знает какой объект пришёл и из какой формы. В PB строка myObject.dw_1.Filtr("Cod=10") не проходит. Помогите плз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2004, 13:42 |
|
||
|
управление одной формы из кода другой
|
|||
|---|---|---|---|
|
#18+
Вместо оператора Open для открытия формы с передачей ей параметров нужно использовать OpenWithParm и ни в коем случае не ссылаться из кода одной формы в другую, думаю по парадигме ООП обьяснять этого не надо, раз работали с C# :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2004, 15:25 |
|
||
|
управление одной формы из кода другой
|
|||
|---|---|---|---|
|
#18+
а если у меня упраление формой (Addnew, Update и т.д.) через меню организовано, так что же мне построить 12 меню, для каждой формы своё? или всё таки есть способ в PB написать типо : myObject .dw_1.Filtr("Cod=10") где myObject это нужная мне форма,и парадигма ООП здесь не причём, часто приходиться управлять одной формой из другой, форма FIND тому пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2004, 16:39 |
|
||
|
управление одной формы из кода другой
|
|||
|---|---|---|---|
|
#18+
По парадигме ООП каждый обьект должен быть независимым и автономным. Это в полной мере относиться и к формам. Ну хотите Вы с меню управлять формой, так кто Вам спрашивается мешает с меню вызывать события у формы следующим образом: Код: plaintext авторmyObject.dw_1.Filtr("Cod=10") то кроме ошибок и вылетаний PB Вы не получите. Зато привяжетесь к элементам формы и переименовав dw_1 в dw_2 получите полностью неработоспособное приложение. Рекомендую почитать умные книжки по ООП - по наследованию, инкапсуляции и полиморфизме. Чтобы приложение на PB было гибким и красивым, очень желательно придерживаться этих правил, это гарантирует не только избежание многих ошибок, но и существенно повысит скорость разработки - если в приложении обьекты независимы и автономны, то значит такие обьекты можно повторно использовать, расширять и нарабатывать свою библиотеку готовых и проверенных решений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2004, 19:38 |
|
||
|
управление одной формы из кода другой
|
|||
|---|---|---|---|
|
#18+
с меню разобрался , а вот с модальными формами туго что то, не могли бы примерчик привести или ссылочку дать, как всётаки организовать "вход и выход"? Как фильтровать данные из модального окна. P.S. поверьте, ну заставили программиста на .Net изучить PB, книг нет , примеров тоже, просто жуть :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2004, 00:51 |
|
||
|
управление одной формы из кода другой
|
|||
|---|---|---|---|
|
#18+
Посмотрите как в PFC сделаны w_find, w_zoom, w_filterXXX, w_sortXXX и т.п. Желательно чтобы "схожие" формы унаследованы были от одного ancestor-а. Но даже если это не так - все равно выкрутится можно. Например через тот же dynamic. И еще где-то была статья по поводу эмуляции интерфейсов на PB. Ссылку потерял... Ни у кого не сохранилась случайно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2004, 04:26 |
|
||
|
управление одной формы из кода другой
|
|||
|---|---|---|---|
|
#18+
Вдогонку... myObject.dw_1.Filtr("Cod=10") - это порнография. не должна форма поиска знать что там есть dw_1. может у одной формы этот вызов будет выглядеть как myObject.dw_1.Filter(...) а у другой myObject.tab_xxx.tabpage_xxx.dw_1.Filter(...) А так сказал myObject.of_SetFilter(...) и пусть myObject сам разбирается где там у него dw_1 и как к нему фильтр приложить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2004, 04:30 |
|
||
|
управление одной формы из кода другой
|
|||
|---|---|---|---|
|
#18+
sokol_с меню разобрался , а вот с модальными формами туго что то, не могли бы примерчик привести или ссылочку дать, как всётаки организовать "вход и выход"? Как фильтровать данные из модального окна. Пока модальное окно работает, другие окна стоят - это факт. Значит главное назначение модального окна - чего то запросить по требуемым данным и вернуть результат. В итоге например у нас модальное окно занимается построением строки фильтра для DataWindow. Ему нужно передать ссылку на DataWindow, на выходе вернуть код успешности выполнения операции. Делаем модальное окно w_Find, в нем прописываем локальные переменные dw_Find и str_Find: Код: plaintext 1. Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext Код: plaintext 1. 2. 3. 4. sokol_P.S. поверьте, ну заставили программиста на .Net изучить PB, книг нет , примеров тоже, просто жуть :) Странно честно говоря - в ДотНете все что я описал вообще на первом месте стоит - главное там правильное проектирование приложения, с созданием наследуемых контролсов и форм, там фактически даже DataSet-ы генерятся в проект как классы и могут далее наследоваться для дальнейшего расширения. Видимо Вы недавно работаете с ним и пока занимаетесь киданием компонентов на формочки :) В этом плане на PB Вам придется учиться мыслить правильно, заодно и в .NET потом здорово пригодиться, для которого кстати есть возможность использовать PB DataWindow через специальный для него компонент DataWindow.NET . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2004, 12:00 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=15&tid=1338772]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 16ms |
| total: | 277ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...