Страница 1 из 1

Добавлено: 06 Февраль 2004, 13:45
Гость
Привет всем!

Имеется некий справочник, который хотелось бы вызывать из
различных приложений. Он у меня выполнен в отдельной 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)

Добавлено: 06 Февраль 2004, 16:36
Гость

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

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)