powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проблема с dddw в Runtime
18 сообщений из 18, страница 1 из 1
Проблема с dddw в Runtime
    #35595814
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!
Есть приложение. В нем сделан фильтр. Все замечательно работает из powerBuilder, однако после компиляции PBD файлов работать перестает :(
Путем долгих умозаключений нашел корень зла, на котором все обламывается.
итак, есть выпадающий список со перечнем пользователей.
ошибка вываливается при его инициализации.
кусок сырца с инициализацией такой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
DataWindowChild ldwc_DWC
string ls_user
long ll_row

dw_user.of_SetTransObject(atr_Tr)
ll_row = dw_user.insertRow( 0 )
MessageBox("A",string(ll_row))
dw_user.GetChild('vdata', ldwc_DWC)
MessageBox("A","Getting user...")
if ldwc_DWC.Rowcount( ) <  1  then
	MessageBox("A",'Row count is '+String(ldwc_DWC.Rowcount( )))
end if
ls_user = ldwc_DWC.getItemString( 1 , "vdata")
if isNull(ls_user) then
	MessageBox("A","User is null!!")
end if
MessageBox("A","User to set: "+ls_user)
dw_user.setItem(ll_row, "vdata", ls_user)
так вот! во-первых, появляется надпись что в ldwc_DWC.Rowcount() = 0. Хотя при работе с сырцами в PowerBuilder все просто отлично. Ну и естественно дальше возникает ошибка при попытке установить первого узера в качестве значения по умолчанию.

Так вот! Возникает вопрос. А не попробовать ли принудительно выполнить retrieve для DataWindowChild ?? Если думаете, что это решение - подскажите, как?

Ну или может нужно выполнить какие-то танцы с бубнами... Вобщем, с такой проблемой столкнулся первый раз и как ее обойти пока не знаю... Разве что создать простой ДропДаун и в него вручную напихать значения из запросов :) Но сюда идти не хочется...

Вобщем, заранее спасибо за советы!
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35595831
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Romanenko пишет:

> так вот! во-первых, появляется надпись что в ldwc_DWC.Rowcount() = 0.

Я не нашёл в твоём коде места, где DWC имело бы шанс заполниться чем-нибудь.

> создать простой ДропДаун и в него вручную напихать значения из
> запросов :)

Тоже вариант.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35595861
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000
> так вот! во-первых, появляется надпись что в ldwc_DWC.Rowcount() = 0.

Я не нашёл в твоём коде места, где DWC имело бы шанс заполниться чем-нибудь.


Ну как-бы дело в том, что все правила связки Datawindow и DatawindowChild прописаны DataWindow Painter-е. Тобишь был создан объект Column со стилем редактирования DropDownDatawindow и к нему присобачен другой DataWindow с двумя полями.
Я почему-то по старой памяти считал, что при инициализации главного DataWindow автоматически инициализатся и Child.
В данном случае я видел две строки, которые должны были привести к верному результату. Это:
Код: plaintext
1.
2.
3.
dw_user.of_SetTransObject(atr_Tr)

ll_row = dw_user.insertRow( 0 )

Должен сказать, что больше всего смущал факт - из PowerBuilder все отлично работает при таком сырце! Однако, задавая вопрос, я в конце-концов натолкнул себя на ответ :) Вот в таком виде все тоже заработало из PowerBuilder:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
dw_user.of_SetTransObject(atr_Tr)
ll_row = dw_user.insertRow( 0 )
dw_user.GetChild('vdata', ldwc_DWC)
ldwc_DWC.setTransObject(atr_tr)
ldwc_DWC.retrieve( )
if ldwc_DWC.Rowcount( ) <  1  then
	MessageBox("A",'Row count is '+String(ldwc_DWC.Rowcount( )))
end if
ls_user = ldwc_DWC.getItemString( 1 , "vdata")
dw_user.setItem(ll_row, "vdata", ls_user)
Теперь попробую откомпилить и запустить из ехе.
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35595873
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim RomanenkoДолжен сказать, что больше всего смущал факт - из PowerBuilder все отлично работает при таком сырце! Однако, задавая вопрос, я в конце-концов натолкнул себя на ответ :) Вот в таком виде все тоже заработало из PowerBuilder:

А что там насчет свойства AutoRetrieve?
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35595898
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркА что там насчет свойства AutoRetrieve?

М-м-м... По умолчанию :) Не подскажете, где глянуть на КНОПКУ??

Компиляция в самом разгаре, так что глянуть прям щас не могу - минут через 5...
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35595978
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сырец который я сделал новый - не помог... Все равно даже после ретрива пишет, что количество строк 0.
Очень интересно...
Что самое интересное, что после перерисовки выпадающий список ЗАПОЛНЕН!!!
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35595991
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Autoretrieve = true :(
для поля основного DataWindow (не-child)
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35596052
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim RomanenkoСырец который я сделал новый - не помог... Все равно даже после ретрива пишет, что количество строк 0.
Очень интересно...
Что самое интересное, что после перерисовки выпадающий список ЗАПОЛНЕН!!!
А что там насчет параметра Async для объекта atr_tr?
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35596084
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хороший вопрос... В сырцах мы его ВООБЩЕ не меняли. Т.е. наверное значение по умолчанию...

ПС: наверное пора представиться :):)
PowerBuilder 9.0.3
Oracle 10.2.0.4
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35596130
Фотография AIZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А DWObject в ресурсы включил?
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35596145
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIZА DWObject в ресурсы включил?
Фсмысле?
У меня все объекты хранятся в PBL и при генерации автоматом компилятся в PBD. Это имелось в виду?
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35596170
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще одна идея.
Может я был не прав, что основное DW сделал не external, а на основе select?
Select собственно вот:
Код: plaintext
1.
select 'ALL' vdata
  from dual

DataWindowChild оформлен как GridLine с запросом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
select au.user_id nid, au.username vname, au.username vdata, decode(u.vname, null,  0 ,  1 )
	 nexists,  2  norder
  from all_users au, OUR_USER_TABLE u
 where u.vname (+)
	 = au.username
 union all
select  0  nid, 'Все' vname, 'ALL' vdata,  0  nexists,  1  norder
  from dual
 order by  5  asc,  4  desc,  2  asc
смысл: первое-view оракла со всеми пользователями. Потом оно пересекается с неким нашим списком пользователей. К результату добавляется еще одна строка - Все.
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35596287
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim RomanenkoМожет я был не прав, что основное DW сделал не external, а на основе select?
Должно работать и так так. По поводу Async - присвойте его в 0 перед тем как DWChild Retrieve'ить - он же может напримен из реестра считываться и прописываться в DBParm...
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35596294
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIZА DWObject в ресурсы включил?
Ну если это то, что я думаю
Vadim RomanenkoЧто самое интересное, что после перерисовки выпадающий список ЗАПОЛНЕН!!!
то включил
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35596315
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чет у меня появилась идея, подкупающая своей новизной... Грохну ка я эти два ДВ и создам их заново!! Вот
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35596367
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идея похоже дала свой результат...
Похоже прийдется сказать Извините, отбился от паровоза, дали кодить и все такое...
Вобщем, оказывается, однажды я СЛУЧАЙНО сохранил оба DW в другую ПБЛ-ку... И в одной из DW была ошибка... И по всей видимости при старте из ПБ бралась версия обоих DW из нужной библиотеки, а после компиляции выбиралась версия из другой ПБЛки, где были DW с этим же именем... Ни тебе ворнингов, ничего :(
Вобщем, грохнул, попробую откомпилить - посмотрим... Но, похоже, проблема найдена...
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35596371
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркAIZА DWObject в ресурсы включил?
Ну если это то, что я думаю
Vadim RomanenkoЧто самое интересное, что после перерисовки выпадающий список ЗАПОЛНЕН!!!
то включил

Возможно, даже слишком много раз...
...
Рейтинг: 0 / 0
Проблема с dddw в Runtime
    #35596494
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем, приношу свои извинения форумчанам.
Проблема решилась именно так, как я написАл.
Огромное всем спасибо за помощь!
Опять же - по-моему тут собрали все возможные проблемы/причины по данному вопросу :) Вдруг кому-то пригодится :)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проблема с dddw в Runtime
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]