Форум » GUI » Макроподстановки » Ответить

Макроподстановки

Vlad04: К контролу формы можно обратиться , примерно так Forma_1.BtnTxt_SCHET1.Value:=Schet->Kod или используя макроподстановку Forma_1.&("BtnTxt_SCHET"+sBtnTxt).Value:=Schet->Kod Форму можно так же создать используя макроподстановки DEFINE WINDOW &cForm Но вот как обратиться к контролам этой формы? Используя только SetProperty , GetProperty? Такая же ситуация возникает, если одной функцией обрабатывать вызовы из разных форм.

Ответов - 4

gfilatov2002: Vlad04 пишет: Но вот как обратиться к контролам этой формы? Обратите внимание на следующие универсальные формы псевдо-ООП кода: ThisWindow.Name This.Name ThisWindow.FocusedControl Возможно, это поможет написать унивесальную процедуру для различных однотипных форм.

Vlad04: ThisWindow.Name This.Name ThisWindow.FocusedControl Поведение половинчатое sNameF:=ThisWindow.Name MsgInfo(sNameF) Срабатывает без ошибок. Так же все нормально при инициализации формы ThisWindow.MINWIDTH:=ThisWindow.WIDTH ThisWindow.MAXWIDTH:=ThisWindow.WIDTH ThisWindow.MINHEIGHT:=ThisWindow.HEIGHT ThisWindow.MAXHEIGHT:=ThisWindow.HEIGHT Но присвоить значение контролу во всех случаях ведет к ошибке (еще на этапе компиляции) ThisWindow.Browse_2.Value := RecNo() или This.Browse_2.Value := RecNo()

gfilatov2002: Vlad04 пишет: Но присвоить значение контролу во всех случаях ведет к ошибке (еще на этапе компиляции) А если попробовать так: sNameF:=ThisWindow.Name SetProperty(sNameF,"Browse_2","Value",RecNo())


Vlad04: Так все ок!



полная версия страницы