Страница 1 из 1
Вывод лога
Добавлено: 04 фев 2010, 19:25
ex3em
К сожалению не нашёл в хелпах и по форуму информацию, а вопрос простой: После импорта данных нужно вывести окно с логом, какие функции есть для этого? Хотелось бы вывести информацию в окошко, как это делается в Галактике при выборе пункта (Сервис->Информация->О лицензии)
Если можно с пример кода ))
Я новичек, сильно не браните ))
Добавлено: 04 фев 2010, 19:51
m0p3e
IMHO, проще всего функционал из ЗП:
Код: Выделить всё
begin
IntInit;
ClearLogFile;
.........
Displ('что-то пишем');
.........
ShowErrors; //Будет показано окно, если был хотя бы раз был вызван Displ
ExitProc;
end;
Добавлено: 04 фев 2010, 19:56
ex3em
Большое спасибо
m0p3e - то что надо

Добавлено: 08 фев 2010, 16:00
Screw
А чтобы процедурные скобки IntInit|ExitProc не развалились случайно, делаем раз:
Код: Выделить всё
#include Contexts.vih
...
begin
var CS: IContextSession;
var CL: ContextList;
// это называется "захват прикладного контекста"
if CL.Add(CS, 'IntInit') {
//выводим в лог
Displ(...);
...
// отображаем лог на экране
ShowErrors;
}
end;
Для простоты использования функционала прикладники родят вот такое (InttInitSession.vpp):
Код: Выделить всё
//******************************************************************************
// (с) корпорация Галактика
// Галактика 8.1 - Заработная плата
// Код захвата контекста "IntInit" (базовый зарплатный), аналог процедурных
// скобок IntInit|ExitProc
//******************************************************************************
//------------------------------------------------------------------------------
// Для захвата контекста достаточно подключить данный vpp-файл в свой
// интерфейс.
//
// Пример.
// ...
// #include Contexts.vih // Обработка контекстов
// ...
// Interface ...
// ...
// #include IntInitSession.vpp // Захват контекста 'IntInit'
// ...
//------------------------------------------------------------------------------
var IntInitSession: IContextSession;
function CaptureIntInitContext: boolean;
{
var CL: ContextList;
InitContextSessionOwner;
Result := CL.Add(IntInitSession, 'IntInit');
}
HandleEvent
cmInit:
{
if not CaptureIntInitContext
abort;
}
cmOnVipLoad:
{
if not CaptureIntInitContext
abort;
}
end;
И включают vpp-шку перед интерфейсным HandleEvent-ом.
Добавлено: 09 фев 2010, 18:50
ex3em
Screw
Большое спасибо, теперь точно знаю как пользоваться логом )