Вот недавно необходимость возникла на С# разработать приложение мелкое. Те, кто работают на c# с Wiaon ActiveX могут столкнуться с проблемами вывода, например, списка имен объектов мониторинга. Пример:
У IWialonCollection нельзя напрямую вызвать свойство Item.
В C# необходимо приводить типы....
В приложенном файле написан отдельный класс, который принимает логин и пароль пользователя и возвращает следующие значения:
Unit_name - Имена всех объектов мониторинга, которые доступны пользователю
UnitId - ID всех юнитов (объектов мониторинга) пользователя
DriverID - ID водителя. !!!!! Прошу обратить внимание, не имя водителя, а его ID.
Если необходимы мои комментарии к коду- предоставлю
Может кто "спасибо" скажет
----
Файл не прикрепился, вывожу его содержимое сюда:
using System;
using System.Collections.Generic;
using System.Text;
namespace WIalonActiveX_test
{
class Common
{
public string connect(string login, string passwd)
{
long epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
int i = 1;
int j = 1;
string unitID = "";
string unitDriver = "";
string unitName = "";
string containUnitInfo = "";
WialonActiveXLib.WialonConnection connect = new WialonActiveXLib.WialonConnection();
WialonActiveXLib.WialonCollection units = new WialonActiveXLib.WialonCollection();
WialonActiveXLib.WialonCollection messages = new WialonActiveXLib.WialonCollection();
units = connect.Login("https://activex.gurtam.com", 443, login, passwd, "", 0);
WialonActiveXLib.WialonUnit unit = new WialonActiveXLib.WialonUnit();
WialonActiveXLib.WialonUnitMsg uMsg = new WialonActiveXLib.WialonUnitMsg(); //= new WialonActiveXLib.WialonUnitMsg();
while (i < units.Count)
{
unitDriver = null;
unit = (WialonActiveXLib.WialonUnit)units[i];
messages = unit.GetMessages(Convert.ToUInt32(epoch) - 604800, Convert.ToUInt32(epoch));
while (j <= messages.Count)
{
uMsg = (WialonActiveXLib.WialonUnitMsg)messages[j];
if (uMsg != null)
{
unitDriver += uMsg.Driver;
}
j++;
}
unitName = unit.Name;
unitID = unit.ID.ToString();
containUnitInfo += ("Unit_name = "+unitName+"\r\n UnitId = "+unitID+"\r\n DriverID = "+unitDriver+"\r\n-------\r\n");
i++;
}
return containUnitInfo;
}
}
}