76

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Поднимаю тему утечек памяти при использовании ActiveX.

VS2005:

WialonConnectionClass wc = new WialonConnectionClass();
WialonCollection col = wc.Login("http://", 8025, "login", "pass");
wc.Disconnect();
Marshal.ReleaseComObject(wc);
Marshal.ReleaseComObject(col);
GC.Collect();

Этот кусок кода при Login отъедает 3 мегабайта, после вызова очистки,
возврашается назад только 1 мегабайт.

Также утечки памяти всегда происходят после попытки очистить полученные
( WialonCollection colMsg = wunit.GetMessages(dtBeginUnix, dtEndUnix) )
сообщения.

Туже самую проблему видно и в стандартном примере:
взял стандартный пример (файл xls из поставки ActiveX), вбил в него логин и пароль,
которые прислал вам в предыдущем письме об утечках и наблюдаю похожий
резальтат. Сделал 10 Login/Disconnect, в результате процесс EXCEL.exe
отъел и не возвращает 5 мегабайт.

У меня приложение работает 7x24 и очень быстро съедает всю память.

P.S.
WialonPro.
В Системе 1200 единиц транспорта.


Артем.

77

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Попробуйте добавить после
Marshal.ReleaseComObject(col);

col = null;

а потом

GC.Collect();

KazInterSoft - www.soft.kz
78

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Добрый день.
можно ли из WialonPro получить: состояние блокировки и баланс в днях?

Евгений Максимов
+79169944009
www.geosmt.ru
www.en.geoservice24.ru
79

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

geolead-msk wrote:

Добрый день.
можно ли из WialonPro получить: состояние блокировки и баланс в днях?

Нельзя

Denis Strakh, Gurtam
80

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

stde wrote:
geolead-msk wrote:

Добрый день.
можно ли из WialonPro получить: состояние блокировки и баланс в днях?

Нельзя

Так и думал, спасибо за оперативность и с днем рождения!!!!

Евгений Максимов
+79169944009
www.geosmt.ru
www.en.geoservice24.ru
81

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Спасибо за поздравления.

Denis Strakh, Gurtam
82

Wialon Active X: загрузка групп объектов с сервера

(edited by Djoko 18/09/2012 16:00:58)

Re: Wialon Active X: загрузка групп объектов с сервера

Доброго времени суток!
Писал в тему с 1С, там, к сожалению, помочь не смогли и направили сюда.
Вопрос остался прежним:
Есть база 1С, в которой произведена интеграция с Wialon, на компьютере пользователя установлена "wialon-activex_1006c3_w32". При попытке получения данных от wialon-а на этапе вызова функции GetMessagesU, выдается ошибка без кода("Произошла исключительная ситуация (0xffffffa1)"). Подскажите, в чем может быть проблема, если раньше все работало замечательно? Или в какую сторону нужно копать дальше?
Если необходимо могу скинуть пример кода(он на 1С) для получения данных.

83

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Djoko wrote:

Доброго времени суток!
Писал в тему с 1С, там, к сожалению, помочь не смогли и направили сюда.
Вопрос остался прежним:
Есть база 1С, в которой произведена интеграция с Wialon, на компьютере пользователя установлена "wialon-activex_1006c3_w32". При попытке получения данных от wialon-а на этапе вызова функции GetMessagesU, выдается ошибка без кода("Произошла исключительная ситуация (0xffffffa1)"). Подскажите, в чем может быть проблема, если раньше все работало замечательно? Или в какую сторону нужно копать дальше?
Если необходимо могу скинуть пример кода(он на 1С) для получения данных.

добрый день, пришлите пож-та в почту все что сможите прислать, попробуем помочь

Евгений Максимов
+79169944009
www.geosmt.ru
www.en.geoservice24.ru
84

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Djoko, 0xffffffa1 - это ошибка -95, про которую написано "Сервер Wialon вернул ошибку. Используйте функцию GetLastError, чтобы получить текст ошибки". Попробуйте получить ошибку, может ситуация прояснится.

85

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

nevl wrote:

Djoko, 0xffffffa1 - это ошибка -95, про которую написано "Сервер Wialon вернул ошибку. Используйте функцию GetLastError, чтобы получить текст ошибки". Попробуйте получить ошибку, может ситуация прояснится.

Так по идее же функция GetLastError возвращает код ошибки?

По Вашему совету попробовал её вызвать, но и для машины, и для com-объекта подключения возвращает пустую строку.

geolead-msk wrote:

добрый день, пришлите пож-та в почту все что сможите прислать, попробуем помочь

Отправил краткий текст модуля получения данных и ActiveX, установленный на компьютере.

86

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Djoko wrote:

Так по идее же функция GetLastError возвращает код ошибки?

Возвращает не код ошибки, а текст ошибки от Wialon. Т.е. ошибки могут быть просто в COM-объектах (памяти не хватило или формат данных был нарушен), а может быть ответ от Wialon (к примеру нет доступа к какому-либо объекту или слишком большой интервал запроса сообщений).

87

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Djoko wrote:
nevl wrote:

Djoko, 0xffffffa1 - это ошибка -95, про которую написано "Сервер Wialon вернул ошибку. Используйте функцию GetLastError, чтобы получить текст ошибки". Попробуйте получить ошибку, может ситуация прояснится.

Так по идее же функция GetLastError возвращает код ошибки?

По Вашему совету попробовал её вызвать, но и для машины, и для com-объекта подключения возвращает пустую строку.

geolead-msk wrote:

добрый день, пришлите пож-та в почту все что сможите прислать, попробуем помочь

Отправил краткий текст модуля получения данных и ActiveX, установленный на компьютере.

нет письма от вас  на почте ceo@geolead.ru

Евгений Максимов
+79169944009
www.geosmt.ru
www.en.geoservice24.ru
88

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

geolead-msk wrote:

нет письма от вас  на почте ceo@geolead.ru

Отправил ещё раз с Djoko202@gmail.com

nevl wrote:
Djoko wrote:

Так по идее же функция GetLastError возвращает код ошибки?

Возвращает не код ошибки, а текст ошибки от Wialon. Т.е. ошибки могут быть просто в COM-объектах (памяти не хватило или формат данных был нарушен), а может быть ответ от Wialon (к примеру нет доступа к какому-либо объекту или слишком большой интервал запроса сообщений).

Хм, интересно! Значит у нас напутали с обработкой ошибок, когда писали подсистему)

89

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Добрый день.
Подскажите где в профиле пользователя можно активировать ActiveX?

90

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

It-34, чтобы активировать ActiveX обратитесь в техподдержку (support@gurtam.com).

91

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Подскажите как получить список всех геозон с площадями доступных для данной учетной записи?

МИНТРАНС ПРЕДУПРЕЖДАЕТ: реки становятся дорогами только в зимнее время
Команда компании ООО "Тамбовнавигация"
92

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

tmbnavi, непосредственно в ActiveX такого нет, но вы можете сделать отчёт, в котором будет необходимая вам информация.

93

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

в том то и беда, что нельзя такой отчет сделать

МИНТРАНС ПРЕДУПРЕЖДАЕТ: реки становятся дорогами только в зимнее время
Команда компании ООО "Тамбовнавигация"
94

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

tmbnavi, что нельзя сделать: отчёт по геозонам с площадью или получить отчёт в ActiveX?

95

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

отчет только по посещению геозон объектами, а не по списку всех геозон учетной записи с площадями

МИНТРАНС ПРЕДУПРЕЖДАЕТ: реки становятся дорогами только в зимнее время
Команда компании ООО "Тамбовнавигация"
96

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

tmbnavi

вероятно nevl имел ввиду, что вы к этому отчету можете добавить таблицу не посещенных геозон,  и т.о. в сумме получите весь список.

97

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

kazintersoft wrote:

Попробуйте добавить после
Marshal.ReleaseComObject(col);

col = null;

а потом

GC.Collect();

Добрый день,

Столкнулись с той же проблемой памяти, данная рекомендация не работает к сожалению.

Какие еще есть варианты?

Заранее спасибо.

98

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

kazintersoft wrote:

Попробуйте добавить после
Marshal.ReleaseComObject(col);

col = null;

а потом

GC.Collect();

Здравствуйте. Столкнулся с этой проблемой.
Код:
                WialonConnectionClass Wln = new WialonConnectionClass();
                IWialonCollection Cars = Wln.Login(SrvName.Text, (ushort)SrvPort.Value, SrvLogin.Text, SrvPass.Text);
                for (int i = 1; i<=Cars.Count; i++)
                {

                    IWialonUnit Car = (IWialonUnit)Cars[i];
                    IWialonCollection Messages = Car.GetMessages(DateTimeToUnix(DateTime.Today.AddDays(-1)), DateTimeToUnix(DateTime.Today));
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(Messages);
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(Car);
                    Messages = null;
                    Car = null;
                    GC.Collect();
                }
                Wln.Disconnect();
                System.Runtime.InteropServices.Marshal.ReleaseComObject(Cars);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(Wln);
                Cars = null;
                Wln = null;               
                GC.Collect();

код выполняется в цикле. При этом происходит рост потребляемой памяти.

99

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Можно попробовать сочетание:

            Marshal.ReleaseComObject(con);
            con = null;
            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

KazInterSoft - www.soft.kz
100

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

kazintersoft wrote:

Можно попробовать сочетание:

            Marshal.ReleaseComObject(con);
            con = null;
            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

Без изменений. Утечка не исчезла