← Zurück

Экспорт дополнительных параметров

Добрый день. Вот решил добавить колонку в таблицу инструментов % изменения от закрытия, добавил DDE сразу в ошибку вылетает "Заданное приведение является недопустимым", чем можете помочь?!

War dieses Thema hilfreich?

Thema teilen

Kommentare (15)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

elcust
elcust Autor

Я понял, что для инструментов ничего сверх неполучится вывести!!! Жаль!!!

Mikhail Sukhov
Mikhail Sukhov

Почему не получиться? Вы добавили так, как написано в документации, в конец?

elcust
elcust Autor

Да

Mikhail Sukhov
Mikhail Sukhov

Видимо проблема в других колонках. Если Вы убирете добавленную, будет все работать? Напишите, что за колонка.

Mikhail Sukhov
Mikhail Sukhov

И да, напишите сюда текст ошибки.

elcust
elcust Autor

Я в первом посте написал:

Колонка "% изменения от закрытия", добавил в конец. DDE сразу в ошибку вылетает "Заданное приведение является недопустимым". У меня все классно работает без этой колонки.

elcust
elcust Autor

Я в первом посте написал:

Колонка "% изменения от закрытия", добавил в конец. DDE сразу в ошибку вылетает "Заданное приведение является недопустимым". У меня все классно работает без этой колонки.

Mikhail Sukhov
Mikhail Sukhov

А какой текст ошибки?

Mikhail Sukhov
Mikhail Sukhov

Еще такой вопрос. У вас две колонки даты последней сделки?

http://stockmarketdotnet.blogspot.com/2009/11/quik-ecngtrading.html

elcust
elcust Autor

Срабатывает событие ошибки DDE - Заданное приведение является недопустимым

Mikhail Sukhov
Mikhail Sukhov

Ок. Но там должен быть текст ошибки... Ок, Вы просто пример запускаете? Какой именно? Или своя программа?

elcust
elcust Autor

Своя! Весь функционал уже задействовал кроме .algo, все работает отлично без глюков! Текст ошибки только тот что написал и все.

Mikhail Sukhov
Mikhail Sukhov

У Вас две колонки даты?

Вы подписывались на событие QuikTrader.ProcessDde....? Если да, то могли бы текст обработчиков привести?

elcust
elcust Autor

Одна колонка времени последней сделки.

Конечно подписывался, вот код события ProcessWellKnownDdeData

   If NamePar.Contains("stock") Then
        For Each obj In Arg2
            Quote = obj.Key
            If (Quote.ExtensionInfo Is Nothing) Then
                Quote.ExtensionInfo = New Dictionary(Of Object,

Object)() If (obj.Value.Count = 5) Then Quote.ExtensionInfo("MainCount") = IIf(CType(obj.Value(3), Integer) = 0, CType(obj.Value(4), Integer), CType(obj.Value(3), Integer)) End If End If Next ElseIf NamePar.Contains("security") Then For Each obj In Arg2 Sec = obj.Key If (Sec.ExtensionInfo Is Nothing) Then Sec.ExtensionInfo = New Dictionary(Of Object, Object)() Sec.ExtensionInfo("LastPrice") = CType(obj.Value(9), Double) Else Sec.ExtensionInfo("LastPrice") = CType(obj.Value(9), Double) End If Next

Если я добавляю еще одну колонку, то срабатывает событие DdeError

Mikhail Sukhov
Mikhail Sukhov

Что то явно не так с настройками таблицы. У меня как раз две колонки.

И так. Добавьте все колонки так, как есть в примере. Затем, проверьте. Все должно работать. Иначе, какую-то пропустили. Затем, добавьте свою в конец таблицы.

Это первое. Второе - Вы уверены, что бросается исключение не на Ваших строчках:

CType(obj.Value(4), Integer) CType(obj.Value(9), Double)

Можете обернуть это в try-catch.