AtlWP
Краткое описание :
Требуется обеспечить возможность вызова Атлантического кода в произвольном потоке .NET без накдадных расходов на переключение потоковОписание :
Общие задачи по проектуЧто измененно :
Ядро рабочего процесса 2-хуровневого Атлантис-приложения (AtlWP.dll)
----- СУТЬ ПРЕДЛОЖЕНИЯ -----
Требуется обеспечить возможность вызова Атлантического кода в произвольном потоке .NET без накдадных расходов на переключение потоков.
Как измененно :
Реализован набор методов для управления пользовательскими контекстами и выполнения в них произвольных функций. В таком контексте инициализируется полноценное Атлантис-приложение, только вместо передачи управления его модальному циклу вызывается точка расширения epAppInit.
Экспортируются из AtlWP.dll:
// возвращает дескриптор текущего рабочего контекста
GetCurrentWorkerContext: function (var ContextHandle: HUserContext): boolean; StdCall = nil;
// создаёт рабочий контекст
CreateWorkerContext: function(var ContextHandle: HUserContext): boolean; StdCall = nil;
// уничтожает рабочий контекст
DestroyWorkerContext: function(var ContextHandle: HUserContext): boolean; StdCall = nil;
// ключевой метод: выполняет Func с параметром Param в текущем потоке, используя рабочий контекст
ExecuteInWorkerContext: function(ContextHandle: HUserContext; Func: TWorkerFunction; Param: pointer = nil): boolean; StdCall = nil;
// следующие методы использовать только в качестве аргумента в вызове ExecuteInWorkerContext
// инициализирует пользовательские переменные (user(thread)-local storage)
InitializeWorkerContext: function(DummyParam: pointer = nil): boolean; StdCall = nil;
// финализирует пользовательские переменные
FinalizeWorkerContext: function(DummyParam: pointer = nil): boolean; StdCall = nil;
// инициализирует приложение
InitializeApplication: function(CommandLine: PChar): boolean; StdCall = nil;
// выполняет точку расширения epAppInit
RunApplication: function(DummyParam: pointer = nil): boolean; StdCall = nil;
// финализирует приложение
FinalizeApplication: function(DummyParam: pointer = nil): boolean; StdCall = nil;
AtlWP
Краткое описание :
При отсутствии установленного драйвера Oracle адаптер ERP не запускается и никакой информации о причине не попадаетв в LogОписание :
Общие задачи по проектуЧто измененно :
Ядро рабочего процесса 2-хуровневого Атлантис-приложения
----- СУТЬ ПРЕДЛОЖЕНИЯ -----
Предусмотреть индикацию ошибок, возникающих при обработке списка предварительно загружаемых динамических библиотек, понизить важность таких ошибок.
Как измененно :
При невозможности загрузить библиотеку в консоль выдаётся диагностическое сообщение с кодом ошибки. Ошибка при этом не считается критической, выполнение кода инициализации AtlWp.dll продолжается.
AtlWP
Краткое описание :
Периодические рантаймы при нагрузочном тестированииОписание :
PostgreSQLЧто измененно :
PostgreSQL
----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ -----
Периодические рантаймы при нагрузочном тестировании.
Как измененно :
Исправлено.
AtlWP
Краткое описание :
Runtime error 217 при вызове FastReport через Shift+F12 с добавленным вычисляемым полемОписание :
FastReport - встроенный генератор отчетовЧто измененно :
Генератор отчетов Fast Report
----- ОПИСАНИЕ ОШИБКИ ----
При добавлении через конфигуратор вычисляемого поля с дублирующим именем одного из полей потока данных и дальнейшим формированием отчета FastReport возникает исключение.
Как измененно :
Добавлена проверка на дублирование полей по имени.