2012-08-09 17 views
6

estoy recibiendo correctamente datos DDE de la plataforma de negociación thinkorswim en Excel usando esta fórmula de celda:Conectar a thinkorswim usando NDDE en .Net

=TOS|Last!AAPL 

Sin embargo, cuando intento conectar a thinkorswim DDE mediante el NDDE library en una aplicación .Net C#, recibo el siguiente mensaje de error, que es el mismo que obtendría si la plataforma ThinkOrSwim no se ejecutara en absoluto:

El cliente no pudo conectarse a "TOS | LAST". Asegúrese de que la aplicación de servidor se esté ejecutando y de que sea compatible con el nombre de servicio especificado y el par de nombre de tema.

El mismo método exacto de conexión con NDDE funcionó en 2009 y falló cuando lo reutilicé en 2012. ¿Acaso ThinkOrSwim ha realizado algún cambio en su aplicación para bloquearlo? Me pregunto qué hacer a continuación ... o encontrar una forma de hacer que NDDE funcione (mejor) o ejecutar una hoja de cálculo de Excel dentro de mi aplicación .NET (desordenada).

Esperando que alguien aquí sepa cómo puedo seguir usando NDDE y solucionar ese problema de conexión.

Click to download small code library I created to demonstrate this problem (Visual Studio 2010). Tendrá que hacer clic en Archivo-> Descargar después de cargar la página.

Bounty es solo para las respuestas que muestran una solución que utiliza una solución .Net/windows api pura. La automatización de Excel dentro de .Net no se acepta para la recompensa.

Descargar ThinkOrSwim desde: https://mediaserver.thinkorswim.com/installer/InstFiles/thinkorswim_jse6_installer.exe Ponte en contacto conmigo en privado si necesitas los datos de acceso.

Respuesta

1

Finalmente encontré una solución: tuve que ejecutar Visual Studio como administrador para que funcione en depuración. Para que el .exe funcione, tuve que agregar un archivo app.manifest con lo siguiente:

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
     <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 
     <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
3

clic derecho sobre thinkorswim.exe, ir a la pestaña de compatibilidad

verificación de la opción "Ejecutar como administrador" en la parte inferior.

Haga clic en Aplicar.

+0

Gracias Charvind, esto fue muy parecido a la respuesta que necesitaba. Ver el mío a continuación. – bboyle1234

Cuestiones relacionadas