用matlab的comtool创建了一个dll,注册在默认目录(matlab工作目录)下,出现下述错误,后来我重新注册在放程序代码的目录下,还是出现错误,
以下是代码:Private Sub Command1_Click()set mboiler = New boilereff.boilereff
Dim boilerloss As Variant
mboiler.cy = Form3.Text1.TextEnd Sub运行时set mboiler = New boilereff.boilereff一行出现实时错误 -2147024770 (8007007e)自动化错误

解决方案 »

  1.   

    set mboiler = New boilereff
      

  2.   

    重新注册了boiler.1.0 type library的组件
    代码改为如下:还是不行啊啊啊,求解答Private mboiler As boiler.boilerclassPrivate Sub Command1_Click()
    Label9(0).Caption = "排烟温度耗差"
    Label10.Caption = "含氧量耗差"
    Label11.Caption = "飞灰含碳量耗差"
    Set mboiler = New boiler.boilerclass
    myboiler.cy = Form3.Text1.TextEnd Sub
      

  3.   

    你的这个dll是否对别的dll有依赖?你的机器上面同时有vb和matlab么?你的不行,系统给出的错误提示是什么?
    你在写
    Private mboiler As boiler.boilerclass (这个是不是可以自动出来?)
      

  4.   


    你好,我的机器上同时有vb(v6.0)和matlab(v7.1)
    错误提示是:实时错误 -2147024770 (8007007e)自动化错误
    boiler.boilerclass 这个可以自动出来!就是运行到Set mboiler = New boiler.boilerclass 这句报错
      

  5.   

    再去仔细研究一下matlab里的dll输出。
      

  6.   

    那你需要到你的boilerclass 内部去看看初始化的时候做了什么。这个错误应该是boilerclass 内部的问题而不在调用上面
      

  7.   


    如果不用Set mboiler = New boiler.boilerclass ,而用
     Dim mboiler As New boiler.boilerclass 
    运行到mboiler.cy = Form3.Text1.Text 这句报错时光标放在语句上,有提示“对象变量或with块变量未设置”boilerclass 内部(即生成boiler。dll的matlab M文件)应该没有什么问题,是一些很简单的计算式子:
    function s=boiler()
    global vgkc vgkc pys cy hy oy ny sy wy ay clz qr  o2m o2s pym pys cfhs cfhm co; 
    cry=cy-ay*(0.08*clz/(100-clz)+0.93*cfhs/(100-cfhs))/100;
    vgkc=0.089*(cry+0.375*sy)+0.265*hy-0.0333*oy;
    vgyc=1.866*(cry+0.375*sy)/100+0.79*vgkc+0.8*ny/100;
    alphapy=21./(21-o2s);
    vgy=vgyc+(alphapy-1)*vgkc;
    vh2o=1.24*((9*hy+wy)/100+1.293*alphapy*vgkc*0.01);
    pydeltaq2=(vgy*1.38+vh2o*1.51)*(pys-pym)*100/qr;
    pydeltanb=pydeltaq2/0.91;
    pydeltab=309*pydeltanb;
    hydeltaq2=(1.38*vgyc*(pys-30)+1.51*(pys-30)*1.603*vgyc*0.01)*2100*(1./(21-o2s)-1./(21-o2m))/qr;
    hydeltanb=hydeltaq2/0.91;
    hydeltab=309*hydeltanb;
    fhdeltaq4=33727*ay*0.93*(cfhs/(100-cfhs)-cfhm/(100-cfhm))/qr;
    fhdeltanb=fhdeltaq4/0.91;
    fhdeltab=309*fhdeltanb;
    return
    end
      

  8.   

    Private myboiler As boiler.boilerclass
    Private Sub Command1_Click()
    Dim myboiler As New boiler.boilerclass
    myboiler.cy = Text1.Text
    End Sub另外,调试时,当光标放在Private myboiler As boiler.boilerclass这句中的myboiler时,出现myboiler=nothing
    光标放在mboiler.cy = Form3.Text1.Text 语句上,有提示“对象变量或with块变量未设置”
    怎么办呀??困扰好久了呼唤高手
      

  9.   


    cy是m文件里面的参数,应该不会定义错误。
      

  10.   

    你在你的class里面给cy设计属性了么?
    也就是cy是可读写的属性?
      

  11.   

    那就是了,你都没设计属性。vb调用的时候怎么能给cy赋值呢你需要把cy变成一个可读写的属性,vb才能正常的使用。
      

  12.   

    mboiler.cy = Form3.Text1.Text 没问题吗?
    vb里的text是unicode的指针哦。