|
|
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
Как определить существует ли на диалоговом окне dw_1 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 17:00 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
Пройти в цикле по элементам на окне ( массив WindowObject control[] ) и опросить его элементы на ClassName() ------------ С уважением, IKAR IkarHomeCenter ........ Детский Дворик ........ ГавГав.Инфо Портал русскоязычной группы пользователей Sybase ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 17:36 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
IkarПройти в цикле по элементам на окне ( массив WindowObject control[] ) и опросить его элементы на ClassName() Если только это DataWindow не лежит на каком-нибудь элементе контейнере, например tabpage... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 18:37 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
To Локшин Марк Бряхня! Стоит тока переделать чуток приведенный ниже код и все будет в шоколаде: Код: plaintext 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2008, 10:27 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
Black SavageБряхня! Стоит тока переделать чуток приведенный ниже код и все будет в шоколаде: В чём бряхня? Этот код делает совсем не IkarПройти в цикле по элементам на окне ( массив WindowObject control[] ) и опросить его элементы на ClassName() А еще кое-что другое, про что я и сказал. Так в чём брехня? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2008, 13:57 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
Локшин МаркЕсли только это DataWindow не лежит на каком-нибудь элементе контейнере, например tabpage... В примере, показано как обрабатывать случай, когда лежит "на каком-нибудь элементе контейнере, например tabpage..." Справедливости ради, замечу, что г-ну Voitovych мой пример навряд ли поможет, впрочем, как и все другие... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2008, 14:19 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
Black SavageВ примере, показано как обрабатывать случай, когда лежит "на каком-нибудь элементе контейнере, например tabpage..." А так никто и не говорил что это невозможно в принципе. Или опять сейчас мне продемонстрируют цепочку логических умозаключений в стиле "мама он меня сукой обозвал" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2008, 14:53 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
Млин, Марк, какой же ты занудный. Представь, сидит чел на рапоте (сегодня суббота), до этого он вкалывал в течении недели по 12 часов. И вот он видит, что можно кому-то помочь, абсолютно не напрягаясь, достаточно скопировать код. Ну, вот я и запостил его, при этом, чего-то там написал. Марк, и не лень тебе ради этого всего, по клавишам ботать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2008, 14:59 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
DataWindow dw_ boolean lb_exists = true TRY dw_ = create using 'dw_1' destroy dw_ CATCH ( RuntimeError Err) lb_exists = false END TRY Скрипт должен находится в том же окне (или в его предке) где и dw_1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 15:36 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
А лучше так: WindowObject lwo_ boolean lb_exists = true string ls_obj_name = 'dw_1' TRY lwo_ = create using ls_obj_name destroy lwo_ CATCH ( RuntimeError Err) lb_exists = false END TRY И оформить в виде функции с параметром именем объекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 15:40 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
+/-А лучше так: WindowObject lwo_ boolean lb_exists = true string ls_obj_name = 'dw_1' TRY lwo_ = create using ls_obj_name destroy lwo_ CATCH ( RuntimeError Err) lb_exists = false END TRY И оформить в виде функции с параметром именем объекта. А вот это бормотание на какой вопрос отвечало? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 19:15 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
а Вы догатайтесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 19:19 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
Догадываться не собираюсь, но хотел удостовериться что никто этот бред не воспринял всерьёз... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 20:00 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
Филипп Догадываться не собираюсь, но хотел удостовериться что никто этот бред не воспринял всерьёз... У меня сейчас температура, так что на счет бреда я не спорю :), но все же можете обьяснить почему бред? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 09:37 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
авторIkar Пройти в цикле по элементам на окне ( массив WindowObject control[] ) и опросить его элементы на ClassName() спасибо, ОК ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 11:34 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
to Black Savage или кто по РЕКУРСИИ ГУРУ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 11:40 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
+/- Филипп Догадываться не собираюсь, но хотел удостовериться что никто этот бред не воспринял всерьёз... У меня сейчас температура, так что на счет бреда я не спорю :), но все же можете обьяснить почему бред? Ну скажем так, частичный бред :) Этот код выполняет следующее: 1) Ищет в текущем типе (окне|uo, где вызван create using) вложенный тип (имя контрола) с указанным именем 2) Если не найден, ищет глобальный тип с этим именем 3) Если не найден - ошибка Очевидно что из-за п.2 этот код не выполняет то что от него требовалось(определить существует ли на диалоговом окне dw_1) - возможны ложные срабатывания. Кроме того он привязан к тому окну где нужна проверка (нельзя даже в предок вынести). Ну и только один уровень вложенности проверяется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 12:52 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky Ну скажем так, частичный бред :) Значит температура меньше 42 :) Anatoly Moskovsky Этот код выполняет следующее: 1) Ищет в текущем типе (окне|uo, где вызван create using) вложенный тип (имя контрола) с указанным именем 2) Если не найден, ищет глобальный тип с этим именем 3) Если не найден - ошибка Насчет порядка поиска спорить не буду .... Anatoly Moskovsky Очевидно что из-за п.2 этот код не выполняет то что от него требовалось(определить существует ли на диалоговом окне dw_1) - возможны ложные срабатывания. Обьясните, пожалуйста популярней, для особо одаренных. Anatoly Moskovsky Кроме того он привязан к тому окну где нужна проверка (нельзя даже в предок вынести). Вынести в предок можно, уже проверил ради интереса. Anatoly Moskovsky Ну и только один уровень вложенности проверяется. Здесь Вы не совсем правы .... Если dw_1 находится табе (или даже на нескольких вложенных) то код работает правильно. Если на UO то работает не корректно. Хотя в вопросе стояла "на диалоговом окне", то есть как вариант поиска когда dw_1 располложено на самом окне этот код подойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 13:24 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
+/- Anatoly Moskovsky Очевидно что из-за п.2 этот код не выполняет то что от него требовалось(определить существует ли на диалоговом окне dw_1) - возможны ложные срабатывания. Обьясните, пожалуйста популярней, для особо одаренных. Если в окне контрола нет, а в проекте есть объект с таким же именем как ожидаемое имя контрола, то create using его найдет и ваш код вернет что контрол существует. Anatoly Moskovsky Кроме того он привязан к тому окну где нужна проверка (нельзя даже в предок вынести). Вынести в предок можно, уже проверил ради интереса. Действительно. Anatoly Moskovsky Ну и только один уровень вложенности проверяется. Здесь Вы не совсем правы .... Если dw_1 находится табе (или даже на нескольких вложенных) то код работает правильно. Если на UO то работает не корректно. Табы (созданные в паинтере окна) и их содержимое хранятся как вложенные типы в окне их содержащем, поэтому работает. Для табов добавленных в runtime через OpenTab - не должно работать. В случае с UO - его контролы хранятся в самом UO, и поэтому недоступны в окне в котором лежит UO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 15:11 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
А конструктор при этом create сработает? и что будет если по причине такого кривого создания визуального объекта в этом самом конструкторе случится RuntimeError? А если в конструкторе есть код обращающийся к другим объектам могут возникнуть интересные побочные эффекты. Насколько операция create для dw тяжелее чем простая пробежка по массивам и несколько вызовов ClassName ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 15:16 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
2 Anatoly Moskovsky Полностью согласен. 2 ЗоринАндрей Конструктор не срабатывает и все ужасы о которых Вы пишете не происходят. Насколько операция тяжелее или легче не знаю. Я предложил скрипт как вариант решения вопроса, а не единственное правильное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 15:32 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
+/-2 Anatoly Moskovsky Полностью согласен. Извиняюсь поторопился. Не полностью :). Вы немного не правы : Anatoly MoskovskyЕсли в окне контрола нет, а в проекте есть объект с таким же именем как ожидаемое имя контрола, то create using его найдет и ваш код вернет что контрол существует. Утверждение ошибочно. Только что проверил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 15:41 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
Voitovychto Black Savage или кто по РЕКУРСИИ ГУРУ веселый пост :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 17:12 |
|
||
|
Найти єлемент управления
|
|||
|---|---|---|---|
|
#18+
Voitovychto Black Savage или кто по РЕКУРСИИ ГУРУ Подсказка №1: обычно синтаксис вызова функции такой: <имя_объекта>.<имя_функции> ( <параметры> ) (возможно вам нужна не функция, а что-то другое ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 17:18 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=35068862&tid=1336837]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 157ms |

| 0 / 0 |

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