Вы не должны писать код, который касается имени объекта DataWindow. Существует несколько причин.
- DataWindow - это динамический объект. Имя контрольных отчетов DataWindow для объекта данных является последним, которое было задано по имени. С помощью Create можно загрузить совершенно другой DataWindow, и имя не изменится.
- Код, который проверяет имя DataWindow, является хрупким. Предположим, что ваш код проверяет, является ли dddw
d_emp
или d_manager
. Когда кто-то создает нового менеджера dddw и называет его d_manager_v2
, ваш код может завершиться непредвиденным и запутанным образом.
- Ваш код, который интересуется именем DataWindow, может нарушать принципы проектирования, такие как One Responsibility.
Добавлен на основе комментариев Ursego в
Для вашего DataWindow/DataStore у вас есть uf_row_exists(ls_search_expr)
. Вы пытаетесь написать функцию для DataWindowChild, но DataWindowChild не существует без элемента управления DataWindow, больше, чем DataWindow. Если вы добавите uf_child_row_exists(ls_column, ls_search_expr)
в свой DataWindow/DataStore, у вас будут как родительский, так и дочерний.
Привет, вы хотите получить dataobject DatawindowChild или объект данных родителя? – DARKinVADER