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

Текущий модуль

Добавлено: 13 июл 2009, 11:45
RAJAH
Здравствуйте!
Как можно узнать, из какого модуля запущен фейс? Видимо, этот модуль будет текущим, тогда можно вопрос задать по-другому: как определить текущий модуль?
Спасибо!

Добавлено: 13 июл 2009, 13:23
edward_K
надо куда нибудь сохранить в точке расширения
extensionPoint epAfterEnterModule (aContour: string; aModule: string);

Добавлено: 13 июл 2009, 15:06
m0p3e
Не подойдет?

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

Назначение

Функция определяет мнемоническое имя текущего контура (например, К_OPER).

Описание

function GetCurrentContour : string;
Возвращаемое значение

Функция возвращает мнемоническое имя текущего контура.

Добавлено: 13 июл 2009, 15:14
Ged
Не это контур.
есть еще

function GetCurrentModule : String;

Добавлено: 13 июл 2009, 16:47
RAJAH
Что-то нет у меня таких функций...
Пробовал точку расширения, но почему-то он в отчёте не видна, хотя в фейсе в месседж выдаётся...
OC_ep.vip

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

extensionPoint epAfterEnterModule (aContour: string; aModule: string);

handler with replace mdl
  on extensionPoint epAfterEnterModule (aContour: string; aModule: string)
action
{
  modul:=aModule;
  result := true;
}

interface OC_ep
handleEvent
cmInit:
{
  message('f  '+modul);
}
end;

end.
Проект

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

var kontur, modul : string;
#make 'ListOSMetodMSFO.slk'
#make 'OC_ep.VIP'
В отчёте пишу

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

RunInterface('OC_ep');
message(modul);
В результате выходит 'f B_ACT' и пустой месседж, т.е. в отчёте modul=''. Почему?

Добавлено: 16 июл 2009, 21:49
Ged
см. в личке