Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Vb6 OleControl实例化为错误类型-仅在Reg Free COM中使用时?_Vb6_Activex_Visual Foxpro_Foxpro_Regfreecom - Fatal编程技术网

Vb6 OleControl实例化为错误类型-仅在Reg Free COM中使用时?

Vb6 OleControl实例化为错误类型-仅在Reg Free COM中使用时?,vb6,activex,visual-foxpro,foxpro,regfreecom,Vb6,Activex,Visual Foxpro,Foxpro,Regfreecom,我有一个ActiveX控件(使用C#创建),我正在使用后期绑定将其添加到Visual FoxPro中的表单中。当我注册控件时,它可以正常工作 我想使用注册免费COM和创建必要的清单文件。现在它加载并以非活动状态显示,直到我双击或按语法激活它。我认为这与reg free com清单文件无关。但是,在进行后期绑定调用之前/之后,是否需要执行一些操作来设置它 当我检查由AddObject()创建的OLControl的OleTypeAllowed属性时,它是1(嵌入式OLE对象),而不是-2(Activ

我有一个ActiveX控件(使用C#创建),我正在使用后期绑定将其添加到Visual FoxPro中的表单中。当我注册控件时,它可以正常工作

我想使用注册免费COM和创建必要的清单文件。现在它加载并以非活动状态显示,直到我双击或按语法激活它。我认为这与reg free com清单文件无关。但是,在进行后期绑定调用之前/之后,是否需要执行一些操作来设置它

当我检查由
AddObject()
创建的OLControl的
OleTypeAllowed
属性时,它是
1
(嵌入式OLE对象),而不是
-2
(ActiveX对象)。因此,OleControl被实例化为错误的类型

我还尝试了以下方法:

  • 定义
    OLECTROL
    的子类,并设置属性
    OleTypeAllowed=-2
    。使用后期绑定加载控件。它没有按要求工作。
    OleTypeAllowed
    返回为
    1

  • 已注册ActiveX控件。使用可视化编辑器将ActiveX控件作为子类添加到项目中。取消控件的注册。使用后期绑定加载控件。它没有按要求工作。
    OleTypeAllowed
    返回为
    1

  • 是否可以将OleControl作为ActiveX控件加载


    如果我能将VB中的任何输入转换成FoxPro,我将不胜感激。

    您可能将
    miscStatusContent
    属性弄错了。这是我们部署的VB6应用程序清单中的一个片段:

    <file name="External\COMCTL32.OCX">
        <typelib tlbid="{6B7E6392-850A-101B-AFC0-4210102A8DA7}" version="1.3" flags="control,hasdiskimage" helpdir="" />
        <comClass clsid="{9ED94440-E5E8-101B-B9B5-444553540000}" tlbid="{6B7E6392-850A-101B-AFC0-4210102A8DA7}" progid="COMCTL.TabStrip.1" threadingModel="Apartment" miscStatus="" miscStatusContent="recomposeonresize,cantlinkinside,insideout,activatewhenvisible,setclientsitefirst">
            <progid>COMCTL.TabStrip</progid>
        </comClass>
        ....
    </file>
    
    
    COMCTL.TabStrip
    ....
    
    请注意,
    miscStatus
    必须明确清除


    我们正在自动生成中使用清单创建。

    您可以添加用于Reg Free COM的清单文件吗?
    <file name="External\COMCTL32.OCX">
        <typelib tlbid="{6B7E6392-850A-101B-AFC0-4210102A8DA7}" version="1.3" flags="control,hasdiskimage" helpdir="" />
        <comClass clsid="{9ED94440-E5E8-101B-B9B5-444553540000}" tlbid="{6B7E6392-850A-101B-AFC0-4210102A8DA7}" progid="COMCTL.TabStrip.1" threadingModel="Apartment" miscStatus="" miscStatusContent="recomposeonresize,cantlinkinside,insideout,activatewhenvisible,setclientsitefirst">
            <progid>COMCTL.TabStrip</progid>
        </comClass>
        ....
    </file>