powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Задолбалась с поиском
5 сообщений из 5, страница 1 из 1
Задолбалась с поиском
    #35187340
JUNIORik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу в унаследованом окне от w_find
подменить объект inv_findattrib.ipo_requestor
на свой inv_dwsrv_find (он унаследован от n_cst_inv_dwsrv_find).

Код: plaintext
1.
inv_dwsrv_find = create uo_dwsrv_find
inv_dwsrv_find = inv_findattrib.ipo_requestor
Тут все ок. (Тока заметила, что инстанс переменные объекта inv_dwsrv_find
исчезают, что означает что это уже не мой объект, а n_cst_inv_dwsrv_find)

Потом вываливается ошибка при обращении к процедуре моего объекта
Код: plaintext
1.
2.
3.
If inv_dwsrv_find.of_findnext(inv_findattrib) =  0  Then
	of_Messagebox("pfc_find_finishsearch", this.Title, &
		this.Title+" has finished searching.", Information!, OK!,  1 )
end if

Как побороть, помогите?
...
Рейтинг: 0 / 0
Задолбалась с поиском
    #35187555
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотите подменить объект inv_findattrib.ipo_requestor на свой inv_dwsrv_find, а делаете вроде наоборот
Код: plaintext
inv_dwsrv_find = inv_findattrib.ipo_requestor
...
Рейтинг: 0 / 0
Задолбалась с поиском
    #35187710
JUNIORik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так дело в том, что inv_findattrib.ipo_requestor
инициализирован и содержит dw,
по которому поиск,
а строка
inv_dwsrv_find = inv_findattrib.ipo_requestor

по идее должна передать все параметры,
но происходит подмена моего объекта на стандартный.

Как это побороть и передать параметры.
Главное idw_requestor передать.
...
Рейтинг: 0 / 0
Задолбалась с поиском
    #35187817
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так
inv_dwsrv_find = inv_findattrib.ipo_requestor
как раз и подменяет ваш объект на стандартный inv_findattrib.ipo_requestor

idw_requestor я так понял это DW в вашем объекте?... можно ее передать например через какую-нибудь промежуточную переменную.
что-то типа
string ls_dw
ls_dw = inv_dwsrv_find.idw_requestor.dataobject


inv_findattrib.ipo_requestor.dataobject = ls_dw
если я правильно понял
...
Рейтинг: 0 / 0
Задолбалась с поиском
    #35187944
JUNIORik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VanoR спасибо за помощь, но вы помоему никогда не заморачивались с поиском.
Я убила пл дня, но разобралась

Надо делать так. Допустим вам нужен свой
специфич. поиск.
Создаете объект
uo_dwsrv_find iherited from n_cst_dwsrv_find ,
в которм пишите свою ф-ии (собитие) of_find.

В окне, содержащем dw, по которому будет
вестись поиск, объявляете инстанс переменную:
Код: plaintext
1.
Protected:
uo_dwsrv_find	inv_dwsrv_find 

В событии constructor dw подменяете объект
n_cst_dwsrv_find следующим образом:
Код: plaintext
1.
2.
3.
IF IsNull(inv_dwsrv_find) Or Not IsValid (inv_dwsrv_find) THEN
	this.inv_Find = Create uo_dwsrv_find
	this.inv_Find.of_SetRequestor ( this )
END IF

Затем в окошке (унаследованом от w_find)
в переопределенном событии pfc_default
пишите
Код: plaintext
1.
2.
3.
4.
5.
6.
inv_dwsrv_find = create uo_dwsrv_find	
inv_dwsrv_find = inv_findattrib.ipo_requestor

If inv_dwsrv_find.of_find(inv_findattrib) =  0  Then
	of_Messagebox("pfc_find_finishsearch", this.Title, &
		this.Title+" has finished searching.", Information!, OK!,  1 )
end if

Вот и весь рецепт.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Задолбалась с поиском
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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