2

首先感谢您的阅读。

我设计了一个 WPF 应用程序,它重新托管了 Windows 工作流的设计器、工具箱和属性。我的想法非常简单,我只想在运行时对我的工作流程进行可视化,并在运行时进行设计。

问题:

现在我尝试在整个应用程序的同一命名空间下调用一个类的方法。该类称为 MyTwsClass。请看下面:

在此处输入图像描述

它非常简单。TwsClass 来自盈透证券交易软件的参考 ActiveX。此 ActiveX 只是为您提供与您的帐户通信的方法和事件。好的,如您所见,我实现了 MyConnect() 方法,该方法只是将一些字符串和 int 变量设置为来自 TwsClass 的连接方法的参数。我注意到我无法将 MyTwsClass 或 MyConnect 方法设置为静态。

现在,在运行时设计器中,我尝试调用 MyConnect 方法。首先,如下图:在此处输入图像描述

由于 MyTwsClass 不能是具有静态方法的静态类(我猜是因为它继承自 ActiveX 类 TwsClass,我不确定作为新手。)所以我想调用实例方法。在运行工作流程之前它没有任何投诉。运行此程序后,我希望我应该能够连接到交易软件的 API。

现在我运行工作流程:

在此处输入图像描述

单击运行按钮后,它立即运行,并弹出窗口告诉我 APP 已崩溃,异常代码为 C0000005。如果我单击关闭选项,我的 WPF 应用程序将被关闭。但在我关闭它之前,我可以看到实际上崩溃的 WPF 实际连接到 API,如上图所示,告诉我 1 已连接......

我尽力在互联网上检查这个问题。我有点感觉这完全是因为我的 WPF 和引用 ActiveX 之间的 Interop 或 COM 进程中的一些问题,因为崩溃窗口表明 TwsSocket.dll 是原因。

但是我真的想不通了......

4

0 回答 0