Работаю с ZuluGIS2021
Версия 10.0.0.9079u
C#
public void OnZuluEvent(int EventID, object Source, object Param1, object Param2, object Param3)
{
if (EventID == (int)eZuluEvents.evBrowserRecordChanged)
{
MessageBox.Show("3\n" + Source.ToString() + "\n" + Param1.ToString() + "\n" + Param2.ToString() + "\n" + Param3.ToString());
}
}
На строчке с MessageBox ставлю точку останова и смотрю данные через дебаггер.
По документации в Param3 должно выводиться:
"В параметре Param3 передается массив (safearray) элементов VARIANT, содержащий имена полей и их значения, которые идентифицирует запись. Массив содержит четное число элементов. В четных элементах (0, 2, и т.д.) хранятся имена полей базовой таблицы в виде строк. В нечетных элементах (1, 3 и т.д.) - соответствующие им значений."
У меня возвращается вот такой массив {sys;4083}.
Возможно это из-за того что я именно изменяю запись(соответственно Param1 у меня 0)
Основная задача была - выбрать поле(в ZbStdBrowser), и нажать кнопку плагина и дальше работать с выделенным полем(чтение,изменение). Но среди всех эвентов в документации нашёл только evBrowserRecordChanged через который можно получить выделенное поле.
У меня два вопроса:
- Почему я получаю "урезанный" массив, и как получить полный?
- Есть ли более подходящие способы получения данных о выделенном поле в ZbStdBrowser, с целью чтения и изменения поля?
Версия 10.0.0.9079u
C#
public void OnZuluEvent(int EventID, object Source, object Param1, object Param2, object Param3)
{
if (EventID == (int)eZuluEvents.evBrowserRecordChanged)
{
MessageBox.Show("3\n" + Source.ToString() + "\n" + Param1.ToString() + "\n" + Param2.ToString() + "\n" + Param3.ToString());
}
}
На строчке с MessageBox ставлю точку останова и смотрю данные через дебаггер.
По документации в Param3 должно выводиться:
"В параметре Param3 передается массив (safearray) элементов VARIANT, содержащий имена полей и их значения, которые идентифицирует запись. Массив содержит четное число элементов. В четных элементах (0, 2, и т.д.) хранятся имена полей базовой таблицы в виде строк. В нечетных элементах (1, 3 и т.д.) - соответствующие им значений."
У меня возвращается вот такой массив {sys;4083}.
Возможно это из-за того что я именно изменяю запись(соответственно Param1 у меня 0)
Основная задача была - выбрать поле(в ZbStdBrowser), и нажать кнопку плагина и дальше работать с выделенным полем(чтение,изменение). Но среди всех эвентов в документации нашёл только evBrowserRecordChanged через который можно получить выделенное поле.
У меня два вопроса:
- Почему я получаю "урезанный" массив, и как получить полный?
- Есть ли более подходящие способы получения данных о выделенном поле в ZbStdBrowser, с целью чтения и изменения поля?