Проблема с запуском дополнительного QUIK
Программа постоянно работает с одним QUIK через QuikTrader,который создается дефолтным способом:
Code
var trader = new QuikTrader(pathToQuik);
Но иногда программа должна запускать еще один Quik и кое-что с ним делать.
Нового QuikTrader создаю так:
Code
var trader = new QuikTrader{ Path = path, DdeServer = "ANOTHERDDESERVER" ,DllName = "TRANS2QUIK1.DLL"};
На этой строчке программа вылетает с ошибкой:
Элемент с таким ключом уже добавлен.
StackTrace:
Code
в System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
в NDde.Advanced.DdeContext.DdeThread.Invoke(Delegate method, Object[] args)
в NDde.Advanced.DdeContext.Invoke(Delegate method, Object[] args)
в NDde.Advanced.DdeContext.Invoke(ThreadStart method)
в NDde.Server.DdeServer.Register()
в #=qr_hsCs_GsqoE2Q_e9zDO0kB$h6Pj05TQiQgMRW0YAS8=.#=qVDJVp9ByWTLlSS$iCYv7iIaC5fT2D2I9xdpq2Gk1jFE=.#=qg_B$4XRtEJe2cfb3itmhMw==()
в Ecng.Common.ThreadingHelper.<>c__DisplayClass10.<Thread>b__f()
в System.Threading.ThreadHelper.ThreadStart_Context(Object state)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.ThreadStart()</StackTrace><ExceptionString>System.ArgumentException: Элемент с тем же ключом уже был добавлен.
в System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
в System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
в NDde.Advanced.DdeContext.DdeThread.Invoke(Delegate method, Object[] args)
в NDde.Advanced.DdeContext.Invoke(Delegate method, Object[] args)
в NDde.Advanced.DdeContext.Invoke(ThreadStart method)
в NDde.Server.DdeServer.Register()
в #=qr_hsCs_GsqoE2Q_e9zDO0kB$h6Pj05TQiQgMRW0YAS8=.#=qVDJVp9ByWTLlSS$iCYv7iIaC5fT2D2I9xdpq2Gk1jFE=.#=qg_B$4XRtEJe2cfb3itmhMw==()
в Ecng.Common.ThreadingHelper.&lt;&gt;c__DisplayClass10.&lt;Thread&gt;b__f()
в System.Threading.ThreadHelper.ThreadStart_Context(Object state)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.ThreadStart()</ExceptionString></Exception></TraceRecord>
Судя по стэктрейсу проблема в DDeServer.Register()
Не подскажите в какую сторону копать ?Версия s# 4.0.8