Скрещивание MDI и SDI (или как и на харлея сесть и рыбку съе

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Привет всем!

Имеется некий справочник, который хотелось бы вызывать из
различных приложений. Он у меня выполнен в отдельной DLL. Но вот в
чем заковырка - одно из приложений его вызывающих использует MDI модель, а
другое SDI.
Конечно если с окна самого справочника снять MDI аттрибут, то худо-бедно
будет и там и там работать. Но хотелось бы чтобы в MDI-приложении все было
как задумано - MDI окно. Не делать же копию процедуры с одной лишь разницей,
что в одной на окне стоит MDI а в другой - нет.

Какие будут мысли?

С уважением, Павел.

(Добавление)

Читай SYSTEM{PROP:Threading}

Best regards,
Andrew Listiev
Work mailto:andrewl@inbox.lv
Home mailto:gidravlic@mhm.lv
ICQ UID: i169357390
MS Messenger: werdna_werdna@hotmail.com
Написал: ClaList(2)
Гость

Сообщение Гость »

Код: Выделить всё

MODAL_STYLE        EQUATE(-4)
WslWind:pFrame     LONG,EXTERNAL,NAME('WslWind@pFrame')

aaa        procedure
LOC:NoModal      LONG(0)
GLO:SavedModal   LONG,AUTO
    code

  PEEK(WslWind:pFrame + MODAL_STYLE,GLO:SavedModal)
  POKE(WslWind:pFrame + MODAL_STYLE,LOC:NoModal)
    open(screen)
!......................................
   close(screen)
    POKE(WslWind:pFrame + MODAL_STYLE,GLO:SavedModal)
Vasiliev B <soft2@mail.redcom.ru>

В качестве параметра при вызове функции справочника из DLL передавать флаг
желаемого вызова, типа FlagMDI. Само окно справочника придется нарисовать в
двух экземплярах, в точности одинаковые, но с MDI атрибутом и без и имена
контролов придется немного в дубликате изменить, например добавить ":MDI".
Соответственно, работаем с тем окном, которое соответствует флагу FlagMDI.
Сами контролы обрабатываются единым кодом, обрабатываемые номера контролов
должны совпасть если окна описаны одинаково (насчет меню и тулбара, если
есть, то надо проверить).

Удачи!
__________________________________
Владимир Якимченко (ICQ: 16993194)
Написал: ClaList(2)
Ответить