вылетает Exception
Atom Ответить
19.04.2013


версия 4.1.11


вылетает Exception


Код

Exception:Thrown: "Требуемый объект не найден.
" (System.Security.Cryptography.CryptographicException)
A System.Security.Cryptography.CryptographicException was thrown: "Требуемый объект не найден.
"


в строке

Код

Trader = new QuikTrader(Path.Text);


лицензия номер 42860 установлена



Код

[h]
 	mscorlib.dll!System.Security.Cryptography.CryptographicException.ThrowCryptographicException(int hr = {unknown})	
 	mscorlib.dll!System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(string fileName = {unknown}, object password = {unknown}, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags = {unknown})	
 	mscorlib.dll!System.Security.Cryptography.X509Certificates.X509Certificate.CreateFromSignedFile(string filename = {unknown})	
 	StockSharp.Algo.dll!StockSharp.Algo.Licensing.LicenseHelper.#=qIK7OFIa$yAkUGe_EpX$owg==()	
 	StockSharp.Algo.dll!StockSharp.Algo.Licensing.LicenseHelper.#=q$JHDqHbGS2gS3Zq8PrMHkMoXswey6biyTUDWThHiVm4=(System.Func<StockSharp.Algo.Licensing.License,bool> #=qqkg0GsHa8_O4y5uQTyDpgw== = {unknown})	
 	StockSharp.Algo.dll!StockSharp.Algo.Licensing.LicenseHelper.IsLicenseSupport(System.Type featureType = {unknown})	
 	StockSharp.Algo.dll!StockSharp.Algo.Licensing.LicenseHelper.StartValidation(object feature = {unknown}, System.Action failedAction = {unknown})	
 	StockSharp.Algo.dll!StockSharp.Algo.BaseTrader..ctor(Ecng.Interop.Platforms platform = {unknown}, bool checkLicense = {unknown})	
 	StockSharp.Quik.dll!StockSharp.Quik.QuikTrader..ctor(string path = {unknown})	
>	Sample.exe!Sample.MainWindow.ConnectClick(object sender = {unknown}, System.Windows.RoutedEventArgs e = {unknown})	
 	PresentationCore.dll!System.Windows.RoutedEventHandlerInfo.InvokeHandler(object target = {unknown}, System.Windows.RoutedEventArgs routedEventArgs = {unknown})	
 	PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source = {unknown}, System.Windows.RoutedEventArgs args = {unknown}, bool reRaised = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject sender = {unknown}, System.Windows.RoutedEventArgs args = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs e = {unknown})	
 	PresentationFramework.dll!System.Windows.Controls.Primitives.ButtonBase.OnClick()	
 	PresentationFramework.dll!System.Windows.Controls.Button.OnClick()	
 	PresentationFramework.dll!System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs e = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.OnMouseLeftButtonUpThunk(object sender = {unknown}, System.Windows.Input.MouseButtonEventArgs e = {unknown})	
 	PresentationCore.dll!System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate genericHandler = {unknown}, object genericTarget = {unknown})	
 	PresentationCore.dll!System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate handler = {unknown}, object target = {unknown})	
 	PresentationCore.dll!System.Windows.RoutedEventHandlerInfo.InvokeHandler(object target = {unknown}, System.Windows.RoutedEventArgs routedEventArgs = {unknown})	
 	PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source = {unknown}, System.Windows.RoutedEventArgs args = {unknown}, bool reRaised = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.ReRaiseEventAs(System.Windows.DependencyObject sender = {unknown}, System.Windows.RoutedEventArgs args = {unknown}, System.Windows.RoutedEvent newEvent = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.OnMouseUpThunk(object sender = {unknown}, System.Windows.Input.MouseButtonEventArgs e = {unknown})	
 	PresentationCore.dll!System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate genericHandler = {unknown}, object genericTarget = {unknown})	
 	PresentationCore.dll!System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate handler = {unknown}, object target = {unknown})	
 	PresentationCore.dll!System.Windows.RoutedEventHandlerInfo.InvokeHandler(object target = {unknown}, System.Windows.RoutedEventArgs routedEventArgs = {unknown})	
 	PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source = {unknown}, System.Windows.RoutedEventArgs args = {unknown}, bool reRaised = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject sender = {unknown}, System.Windows.RoutedEventArgs args = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs args = {unknown})	
 	PresentationCore.dll!System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs args = {unknown}, bool trusted = {unknown})	
 	PresentationCore.dll!System.Windows.Input.InputManager.ProcessStagingArea()	
 	PresentationCore.dll!System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs input = {unknown})	
 	PresentationCore.dll!System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport inputReport = {unknown})	
 	PresentationCore.dll!System.Windows.Interop.HwndMouseInputProvider.ReportInput(System.IntPtr hwnd = {unknown}, System.Windows.Input.InputMode mode = {unknown}, int timestamp = {unknown}, System.Windows.Input.RawMouseActions actions = {unknown}, int x = {unknown}, int y = {unknown}, int wheel = {unknown})	
 	PresentationCore.dll!System.Windows.Interop.HwndMouseInputProvider.FilterMessage(System.IntPtr hwnd = {unknown}, MS.Internal.Interop.WindowMessage msg = {unknown}, System.IntPtr wParam = {unknown}, System.IntPtr lParam = {unknown}, ref bool handled = {unknown})	
 	PresentationCore.dll!System.Windows.Interop.HwndSource.InputFilterMessage(System.IntPtr hwnd = {unknown}, int msg = {unknown}, System.IntPtr wParam = {unknown}, System.IntPtr lParam = {unknown}, ref bool handled = {unknown})	
 	WindowsBase.dll!MS.Win32.HwndWrapper.WndProc(System.IntPtr hwnd = {unknown}, int msg = {unknown}, System.IntPtr wParam = {unknown}, System.IntPtr lParam = {unknown}, ref bool handled = {unknown})	
 	WindowsBase.dll!MS.Win32.HwndSubclass.DispatcherCallbackOperation(object o = {unknown})	
 	WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate callback = {unknown}, object args = {unknown}, int numArgs = {unknown})	
 	WindowsBase.dll!MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(object source = {unknown}, System.Delegate method = {unknown}, object args = {unknown}, int numArgs = {unknown}, System.Delegate catchHandler = {unknown})	
 	WindowsBase.dll!System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority priority = {unknown}, System.TimeSpan timeout = {unknown}, System.Delegate method = {unknown}, object args = {unknown}, int numArgs = {unknown})	
 	WindowsBase.dll!MS.Win32.HwndSubclass.SubclassWndProc(System.IntPtr hwnd = {unknown}, int msg = {unknown}, System.IntPtr wParam = {unknown}, System.IntPtr lParam = {unknown})	
 	WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame frame = {unknown})	
 	WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame frame = {unknown})	
 	PresentationFramework.dll!System.Windows.Application.RunDispatcher(object ignore = {unknown})	
 	PresentationFramework.dll!System.Windows.Application.RunInternal(System.Windows.Window window = {unknown})	
 	PresentationFramework.dll!System.Windows.Application.Run(System.Windows.Window window = {unknown})	
 	PresentationFramework.dll!System.Windows.Application.Run()	
 	Sample.exe!Sample.App.Main()	
 	mscorlib.dll!System.AppDomain.ExecuteAssembly(string assemblyFile = {unknown}, System.Security.Policy.Evidence assemblySecurity = {unknown}, string[] args = {unknown})	
 	Microsoft.VisualStudio.HostingProcess.Utilities.dll!Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()	
 	mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state = {unknown})	
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext = {unknown}, System.Threading.ContextCallback callback = {unknown}, object state = {unknown}, bool ignoreSyncCtx = {unknown})	
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext = {unknown}, System.Threading.ContextCallback callback = {unknown}, object state = {unknown})	
 	mscorlib.dll!System.Threading.ThreadHelper.ThreadStart()	


[/h]

Теги:


Спасибо:




9 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.04.2013
Ответить


tourtika Перейти
версия 4.1.11
вылетает Exception


Откуда вылетает?
Спасибо:

tourtika

Фотография
Программист Благотворитель
Дата: 19.04.2013
Ответить


vs2010 Ultimate,

любой из семплов в составе архива
в моменте выполнения данного метода.

например, stocksharp\4.1.11\Samples\Quik\Sample\MainWindow.xaml.cs

line 102.

или любой другой пример, летит данный метод

Output:


Автор топика
Спасибо:

tourtika

Фотография
Программист Благотворитель
Дата: 19.04.2013
Ответить


забыл указать вылетают 2 Exceptions:

Код

Exception:Thrown: "Требуемый объект не найден.
" (System.Security.Cryptography.CryptographicException)
A System.Security.Cryptography.CryptographicException was thrown: "Требуемый объект не найден.
"



Код

Exception:Caught: "Заданного параметра реестра не существует." (System.IO.IOException)
A System.IO.IOException was caught: "Заданного параметра реестра не существует."



один за другим


Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.04.2013
Ответить


tourtika Перейти
забыл указать вылетают 2 Exceptions:


Вопрос остался прежним. Откуда вылетают? Как вы их перехватываете?
Спасибо:

tourtika

Фотография
Программист Благотворитель
Дата: 19.04.2013
Ответить


Код

                    if (Trader == null)
                    {


                        // создаем шлюз
(1 Breakpoint)                    Trader = new QuikTrader(Path.Text);

                        // возводим флаг, что соединение установлено
(2 Breakpoint)                        _isConnected = true;




Ставлю два брейкпоинта как показано в коде,
Debug режим, нажимаю на форме кнопку "подключиться"
на втором брейкпоинте, исключения вываливается в Output,


т.е. нажимаю кнопку - встаёт пауза на первом брейке,
нажимаю continue в GUI, при переходе с 1 на 2 - ошибки.

на втором брейке GUY на паузе.

т.е ошибки именно между 1 и 2 возникают
Автор топика
Спасибо:

tourtika

Фотография
Программист Благотворитель
Дата: 19.04.2013
Ответить


Причём ошибка, именно при моей сборке,
запускаю готовые (архивные) .exe - всё работает
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.04.2013
Ответить


tourtika Перейти
Причём ошибка, именно при моей сборке,
запускаю готовые (архивные) .exe - всё работает


А в первом случае именно не работает? Нет происходит подключения, программа падает?
Спасибо:

tourtika

Фотография
Программист Благотворитель
Дата: 19.04.2013
Ответить


Пардон, всё работает, вероятно исключения за'catch'ены раз они не вываливались в messagebox.

дело в том, что время от время не удаётся подключение к Quik
с чем это может быть связано? (я подумал что это связано с этим exception - теперь я вижу что не с этим)

Автор топика
Спасибо:

tourtika

Фотография
Программист Благотворитель
Дата: 19.04.2013
Ответить


а так же когда соединение уставлено,

время от времени экспорт DDE "подвисает" - не реагирует GUI


после нескольких чиклов подклченние/отклчение

private void StartDde()
{
>>>>>>> Trader.StartExport();
_isDdeStarted = true;
}


GUI виснет на этом месте
c messagebox:

System.TimeoutException: Действие 'Открытие DDE окна' с окном Quik превысило допустимое время.
--------------------------
Автор топика
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy