|
|
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
Открываю окно через OpenWithParm Код: plaintext 1. 2. 3. 4. 5. 6. 7. Далее в open-евенте открытого окна Код: plaintext 1. 2. 3. 4. 5. 6. Выдает ошибку Cannot assign object of type slim_parm to variable of type slim_parm at line in open event ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 12:02 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
Не воспроизводится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 12:19 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
Забыл: PB 7.0.3 build 10312 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 12:20 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
// slim_parm w // slim_parm1 w pomoemu raznie strukturi ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 12:29 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
Видимо, структуры создаются внутри окна. Создайте структуру, как объект PowerBuilder - он появится в библиотеке и будет доступен как глобальная переменная всем окнам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 12:32 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
gzВидимо, структуры создаются внутри окна. Создайте структуру, как объект PowerBuilder - он появится в библиотеке и будет доступен как глобальная переменная всем окнам Да структуры действительно внутри окна, но их поля идентичны. Если мне создавать глобальную структуру, то зачем тогда мне передавать ее как параметр?, я ведь и так смогу к ней обратиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 12:36 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
Глобально создается объект "структура", а он без данных. Вы обязаны в обоих окнах определить переменные, тип которых соответствует данной структуре. Только тогда под структуры выделяется память и Вы можете с ними оперировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 12:44 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
Раз структуры по имени разные, то независимо от содержимого PB будет ругаться Рекомендую передавать ссылки на объекты. В простых случаях через строку Успехов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 12:48 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
Понял. да, так работает. Но даже когда в предыдущем случае в отладчике я смотрел Message.PowerObjectParm , то там содержались нужные мне данные. Неужели их нельзя вытянуть? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 12:50 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
По всей видимости, структура, определенная внутри окна, работает только в данном окне. А название, тип и количество переменных не должно играть никакой роли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 13:10 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
2 f45f зачем создаешь 2 стуктуры с одинаковыми полями ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 13:56 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
zuzuзачем создаешь 2 стуктуры с одинаковыми полями ? Вопрос не в двух структурах. Вопрос в Message.PowerObjectParm в открытом окне PowerObjectParm содержит то, что нужно, т.е. 1. передаваемую структуру (Message.PowerObjectParm) 2. class definitiom Вопрос, можно ли вытянуть нужные мне значения хоть в структуру, хоть в переменные, без использования глобальной структуры?Или может это противоречит ООП? С глобальной структурой все без проблем, т.е. если w экземпляр глобальной структуры, то Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 14:22 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
Из Help ясно, что структуру, определенную в окне, использовать вне окна "не моги, не моги" No access to object-level structures outside the object You cannot make object-level structures accessible outside the object because object-level structures are implicitly private. Не видно ее из другого окна, хоть убей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 15:20 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
авторВопрос в Message.PowerObjectParm в открытом окне PowerObjectParm содержит то, что нужно, т.е. 1. передаваемую структуру (Message.PowerObjectParm) 2. class definitiom Вопрос, можно ли вытянуть нужные мне значения хоть в структуру, хоть в переменные, без использования глобальной структуры?Или может это противоречит ООП?Вы понимаете разницу между типом данных и значением этого типа? Описывая структуру в соответствующем пэйтере, вы создаете новый тип данных, область видимости которого - все приложение. Если вы описываете структуру в некотором объекте, то область видимости этого типа ограничена этим объектом. В открытом окне Message.PowerObjectParm содержит не передаваемую структуру, а именно PowerObject. Если хотите, можете считать это указателем на область памяти, содержащую передаваемые данные. Вот эта ваша строчка Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2004, 19:15 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
gzИз Help ясно, что структуру, определенную в окне, использовать вне окна "не моги, не моги" No access to object-level structures outside the object You cannot make object-level structures accessible outside the object because object-level structures are implicitly private. Не видно ее из другого окна, хоть убей. А у меня видно. Что я неправильно делаю ? :) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 11:42 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyА у меня видно. Что я неправильно делаю ? :) Код: plaintext Да... Пришло просветление. Увидел тоже. Себя уже убил. Встречал такое в операторе CALL. Если можете, расскажите поподробнее об этой конструкции. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 20:09 |
|
||
|
Вопрос по передаче структуры
|
|||
|---|---|---|---|
|
#18+
gz Anatoly MoskovskyА у меня видно. Что я неправильно делаю ? :) Код: plaintext Да... Пришло просветление. Увидел тоже. Себя уже убил. Встречал такое в операторе CALL. Если можете, расскажите поподробнее об этой конструкции. Спасибо. Это просто обращение к вложенному типу. По аналогии с C++: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Например, есть библиотека объектов, инкапсулирующих вызовы WinAPI (n_cst_kernel32, n_cst_user32 и т.д., сайт к сожалению уже недоступен, если кому-то надо, могу сюда запостить). Многим ф-ям WinAPI требуются структуры в качестве аргументов. Чтобы объект был независим от других объектов, все необходимые структуры объявляются как локальные, а пользователь на них ссылается через указанный мною синтаксис, например: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Ну и помимо всего, все контролы в визуальных объектах также являются вложенными типами, например реальный тип кнопки cb_1 в окне w_1 такой: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2004, 13:42 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=32718522&tid=1338836]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 495ms |

| 0 / 0 |

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