Добрый день.
О функциях UNIT.ocx.
1. long InitUnit();
Функция, которая в существующей весии Unit.ocx ничего не делает. Оставлена для совместимости со старым ПО.
Возвращаемое значение всегда 0.
2. long UnitParam(LONG* param, DOUBLE* value);
Функция UNIT-сервера. Чтение параметра, пришедшего в программу из Unit.ocx.
param — номер пришедшего параметра;
value — значение пришедшего параметра.
Возвращаемое значение:
0 — успешное выполнение;
-32 — нет не прочитанных пришедших параметров.
3. long UnitWrite(long size, float * data, long param);
Функция UNIT-сервера. Посылка в Unit.ocx массива данных.
size — размер массива;
data — указатель на массмв;
param — номер параметра.
Возвращаемое значение:
0 — успешное выполнение;
-2 — ошибка при инициализации Unit.ocx;
-12 — нет процесса, принимающего массив;
-41 — ошибка при передаче массива;
-53 — размер меньше или равен 0;
-100 — нулевой указатель массива;
4. long WriteNet(…);
Функция, которая в существующей весии Unit.ocx ничего не делает. Оставлена для совместимости со старым ПО.
Возвращаемое значение всегда 0.
5. void IamActive();
Функция, которая в существующей весии Unit.ocx ничего не делает. Оставлена для совместимости со старым ПО.
6. long IsReady();
Функция UNIT-клиента. Функция проверяет наличие новых данных, пришедних от Unit.ocx. Предназначена для разработки UNIT-клиентов в средах разработки, которые не поддерживают работу с оконными сообщениями, например: Borland.
Возвращаемое значение:
0 — нет непрочитанных данных;
1 — есть непрочитанные данные.
7. long IsReadyParam();
Функция UNIT-сервера. Функция проверяет наличие новых параметров, пришедних от Unit.ocx. Предназначена для разработки UNIT-серверов в средах разработки, которые не поддерживают работу с оконными сообщениями, например: Borland.
Возвращаемое значение:
0 — нет непрочитанных параметров;
1 — есть непрочитанные параметры.
При разроботке программ, являющихся UNIT-сервером, в среде Borland для получения параметров следует по таёмеру выполнять следующий код:
if (IsReadyParam() == 1)
{
long param(0);
double value(0.);
if (UnitParam(¶m, &value) == 0)
{
// Обработка параметра с номером «param» и значением «value»
}
}
С уважением, отдел технической поддержки ООО «ЭТМС»