0
Попытка получить переменную из родительского окна окна ответа (оба окна наследуются - у меня нет исходного кода). Я могу зацикливаться на всех родительских переменных, объектах, элементах управления и т. Д., Но я не могу читать какие-либо переменные. Этот код предназначен для «ok event». Цените любую помощь.Powerbuilder 12.5 Получить переменную окна родителя
window lw_active, w_parentwindow
string ls_winname, ls_libname, ls_wintitle
ClassDefinition cd_windef
w_parentwindow = this.ParentWindow()
lw_active = w_parentwindow.GetFirstSheet()
if isvalid(lw_active) = True then
ls_winname = lw_active.classname()
cd_windef = FindClassDefinition(ls_winname)
ls_libname = cd_windef.LibraryName
ls_wintitle = lw_active.title
messagebox(ls_winname, ls_libname+'~r~n~r~n'+ls_wintitle, Information!)
string s, lineend
integer li
VariableDefinition vard
lineend = "~r~n"
FOR li = 1 to UpperBound(cd_windef.VariableList)
vard = cd_windef.VariableList[li]
s = s + vard.Name + lineend
NEXT
messagebox('s',s)
end if
Спасибо, что нашли время Хью. Я довольно начинающий программист, поэтому не все точки мне понятны. Я забыл упомянуть, что мне удалось передать переменную от родительского к дочернему окну через родительский window.tag. Что-то вроде этого:. окна \t lw_parentwindow \t \t \t \t lw_parentwindow = супер :: ParentWindow() getfirstsheet() \t \t \t ll_orderid = Декабрь (lw_parentwindow.tag) – DAMS
я получил вырезать в середине поста, извините. Постоянно: Можете ли вы подробнее рассказать о «Добавить методы предков в w_mine»? Не знаете, как это сделать. Где я могу объявить тип w_mine? В w_mine (дочернее окно)? – DAMS