Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Visual Basic Sterling ActiveX错误_Vb.net_Visual Studio 2010_Activex - Fatal编程技术网

Vb.net Visual Basic Sterling ActiveX错误

Vb.net Visual Basic Sterling ActiveX错误,vb.net,visual-studio-2010,activex,Vb.net,Visual Studio 2010,Activex,我是VisualBasic新手,我正在编写的程序有问题。我正在使用Sterling ActiveX库创建一个基本的功能程序,为Sterling Trader软件执行一项简单的任务(发送订单)。我只是想做一些基本的东西,我可以用它来做。以下是我目前的代码: 导入斯特林库 公开课表格1 Dim WithEvents m_STIEvents As STIEvents Private Declare Sub GetLocalTime Lib "kernel32" (ByRef lpSystemTi

我是VisualBasic新手,我正在编写的程序有问题。我正在使用Sterling ActiveX库创建一个基本的功能程序,为Sterling Trader软件执行一项简单的任务(发送订单)。我只是想做一些基本的东西,我可以用它来做。以下是我目前的代码:


导入斯特林库

公开课表格1

Dim WithEvents m_STIEvents As STIEvents

Private Declare Sub GetLocalTime Lib "kernel32" (ByRef lpSystemTime As SYSTEMTIME)

Private Structure SYSTEMTIME

    Dim wYear As Short

    Dim wMonth As Short

    Dim wDayOfWeek As Short
    Dim wDay As Short
    Dim wHour As Short
    Dim wMinute As Short
    Dim wSecond As Short
    Dim wMilliseconds As Short
End Structure

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    m_STIEvents = New STIEvents

End Sub

Private Sub m_STIEvents_OnSTIOrderUpdateMsg(ByVal oSTIOrderUpdateMsg As SterlingLib.STIOrderUpdateMsg) Handles m_STIEvents.OnSTIOrderUpdateMsg

    Dim order As STIOrder
    order = New STIOrder
    Dim storder As structSTIOrder

    storder.bstrAccount = "ACCT7"
    storder.bstrSide = "B"
    storder.bstrSymbol = "CSCO"

    order.Quantity = "500"
    storder.bstrStrPriceType = SterlingLib.STIPriceTypes.ptSTIMkt
    storder.bstrTif = "D"
    storder.bstrDestination = "NYSE"

    Dim theTime As SYSTEMTIME
    GetLocalTime(theTime)

    storder.bstrClOrderId = storder.bstrAccount & theTime.wYear & theTime.wMonth & theTime.wDay & theTime.wHour & theTime.wMinute & theTime.wSecond & theTime.wMilliseconds

    Dim ret As Integer

    ret = order.SubmitOrder



End Sub

Private Function Text1() As Object
    Throw New NotImplementedException
End Function
末级

运行此程序时,出现以下错误: 应用程序中出现未处理的异常。如果单击“继续”,应用程序将忽略此错误并尝试继续。如果单击“退出”,应用程序将立即关闭

由于以下错误,检索CLSID为{5E89F49B-6A12-420F-8570-E510EF1B580A}的组件的COM类工厂失败:800700c1。“


这是什么意思?我如何纠正它?当我调试时,它会突出显示“m_STIEvents=New STIEvents”作为出错的行,但我无法找出它。

您可以对错误代码0x800700c1进行反向工程。如果不是通过谷歌,那么是通过设计。8表示它是一个错误。7是“设施代码”,错误源于此,7表示Windows。这使得最后4位数字成为Windows错误代码。0x00c1=错误193。可以通过多种方式查找,其中一种是通过查看Windows SDK的WinError.h文件:

//
// MessageId: ERROR_BAD_EXE_FORMAT
//
// MessageText:
//
// %1 is not a valid Win32 application.
//
#define ERROR_BAD_EXE_FORMAT             193L
这种错误代码总是在64位操作系统上生成。运行64位代码并尝试加载旧式32位ActiveX组件

这建议了一个简单的解决方案:在解决方案资源管理器窗口中右键单击您的EXE项目。属性、编译选项卡、向下滚动、高级编译选项按钮。将目标CPU设置更改为“x86”,强制VB.NET代码以32位模式运行,以便加载ActiveX控件。或者,如果它已经设置为x86,则将其更改为“AnyCPU”,以解决这是一个64位ActiveX控件的奇怪情况


如果这不起作用或您有任何其他问题,请与组件供应商联系。

您可以对错误代码0x800700c1进行反向工程。如果不是通过谷歌,那么是通过设计。8表示它是一个错误。7是“设施代码”,错误源于此,7表示Windows。这使得最后4位数字成为Windows错误代码。0x00c1=错误193。可以通过多种方式查找,其中一种是通过查看Windows SDK的WinError.h文件:

//
// MessageId: ERROR_BAD_EXE_FORMAT
//
// MessageText:
//
// %1 is not a valid Win32 application.
//
#define ERROR_BAD_EXE_FORMAT             193L
这种错误代码总是在64位操作系统上生成。运行64位代码并尝试加载旧式32位ActiveX组件

这建议了一个简单的解决方案:在解决方案资源管理器窗口中右键单击您的EXE项目。属性、编译选项卡、向下滚动、高级编译选项按钮。将目标CPU设置更改为“x86”,强制VB.NET代码以32位模式运行,以便加载ActiveX控件。或者,如果它已经设置为x86,则将其更改为“AnyCPU”,以解决这是一个64位ActiveX控件的奇怪情况


如果这不起作用或您有任何其他问题,请与组件供应商联系。

我不知道您是否已解决此问题。我解决这个问题的方法是在我的电脑上安装vb6。我尝试了所有其他的方法,但没有一个奏效。这个API非常旧。安装vb6解决了我的问题。此外,如果你想让程序工作,你必须登录sterling trader pro。祝你好运。

我不知道你是否解决了这个问题。我解决这个问题的方法是在我的电脑上安装vb6。我尝试了所有其他的方法,但没有一个奏效。这个API非常旧。安装vb6解决了我的问题。此外,如果你想让程序工作,你必须登录sterling trader pro。祝你好运。

我没有和你描述的完全一样的选择。有一个选项是“目标框架(所有配置):”我的选项是:.NET framework 2.0、.NET framework 3.0、.NET framework 3.5、.NET framework 3.5客户端配置文件、.NET framework 4.0、.NET framework 4客户端配置文件,并安装其他框架。是这样吗?我该选哪一个?你找错了。使用“编译”选项卡,如答案中所述。向下滚动找到“高级编译选项”按钮。我没有与您描述的完全相同的选项。有一个选项是“目标框架(所有配置):”我的选项是:.NET framework 2.0、.NET framework 3.0、.NET framework 3.5、.NET framework 3.5客户端配置文件、.NET framework 4.0、.NET framework 4客户端配置文件,并安装其他框架。是这样吗?我该选哪一个?你找错了。使用“编译”选项卡,如答案中所述。向下滚动找到“高级编译选项”按钮。