求助:   
     我在打开一个工程时需要用到Mscal.ocx控件,我已经把该控件复制到Windows\ststem32文件夹内,并且用regsvr32注册成功,新建vb工程打开部件对话框浏览找到该控件并应用,但是系统提示不能加载该'Item.已经搞了两天了还是不行.
   另外:该控件是office的控件,我是打开示例工程时的提示.
                                            谢谢好心人给予指点

解决方案 »

  1.   

    谢谢您的回答.可是我这个示例工程是在D:\ 盘,打开时提示不能加载D:\......是否加载,点确定,出现加载错误
    控件的路径,我是把它放到C:\Windows\ststem32下的,另外控件的版本问题是什么呢?
      我的操作是:工程-》部件中添加它到工具箱,画到窗体上,出现了Calendar2,原窗体上已经有一个Calendar1,运行工程后,提示未找到方法或数据成员.
                        Calendar1.Value = Date
                             再次谢谢您的回答  在线等
       
      

  2.   

    用记事本打开vbp文件,根据提示信息直接修改vbp里对应的文件路径或者把控件复制到对应的目录下
      

  3.   

    我查过了控件手册Calendar是有value这个属性的, Calendar1.Value. Value-设置或检索当前日历空间中选定的日期.
    但我的控件少了这个属性.
      

  4.   

    添加部件,点击浏览,找到你注册的控件对应的文件。原文件要注销(regsvr32.exe /u d:\...)。
      

  5.   

    你的意思是Calendar1和Calendar2是同一种控件?
    你注释掉Calendar1.Value = Date ,换成:
    Calendar1.Value = Date 
    看能否正常运行。如果可以运行,你干脆把Calendar1删除了,重新画一个Calendar在原来的位置,命名为Calendar1,把旧的替换掉算了。
      

  6.   

    Calendar2.Value = Date
      

  7.   

    行 80: 控件 Calendar1 的类 MSACAL.Calendar 不是一个已加载的控件类。
    行 86: 属性名 _Version 在 Calendar1 中是无效的。
    行 87: 属性名 _ExtentX 在 Calendar1 中是无效的。
    行 88: 属性名 _ExtentY 在 Calendar1 中是无效的。
    行 89: 属性名 _StockProps 在 Calendar1 中是无效的。
    行 91: 属性名 Year 在 Calendar1 中是无效的。
    行 92: 属性名 Month 在 Calendar1 中是无效的。
    行 93: 属性名 Day 在 Calendar1 中是无效的。
    行 94: 属性名 DayLength 在 Calendar1 中是无效的。
    行 95: 属性名 MonthLength 在 Calendar1 中是无效的。
    行 96: 属性名 DayFontColor 在 Calendar1 中是无效的。
    行 97: 属性名 FirstDay 在 Calendar1 中是无效的。
    行 98: 属性名 GridCellEffect 在 Calendar1 中是无效的。
    行 99: 属性名 GridFontColor 在 Calendar1 中是无效的。
    行 100: 属性名 GridLinesColor 在 Calendar1 中是无效的。
    行 101: 属性名 ShowDateSelectors 在 Calendar1 中是无效的。
    行 102: 属性名 ShowDays 在 Calendar1 中是无效的。
    行 103: 属性名 ShowHorizontalGrid 在 Calendar1 中是无效的。
    行 104: 属性名 ShowTitle 在 Calendar1 中是无效的。
    行 105: 属性名 ShowVerticalGrid 在 Calendar1 中是无效的。
    行 106: 属性名 TitleFontColor 在 Calendar1 中是无效的。
    行 107: 属性名 ValueIsNull 在 Calendar1 中是无效的。
    行 116: 属性名 DayFont 在 Calendar1 中是无效的。
    行 125: 属性名 GridFont 在 Calendar1 中是无效的。
    行 134: 属性名 TitleFont 在 Calendar1 中是无效的。
      

  8.   

    Type=Exe
    Form=Form1.frm
    Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#E:\WINDOWS\system32\stdole2.tlb#OLE Automation
    Object={8E27C92E-1264-101C-8A2F-040224009C02}#7.0#0; MSCAL.OCX
    IconForm="Form1"
    Startup="Form1"
    ExeName32="工程1.exe"
    Command32=""
    Name="工程1"
    HelpContextID="0"
    CompatibleMode="0"
    MajorVer=1
    MinorVer=0
    RevisionVer=0
    AutoIncrementVer=0
    ServerSupportFiles=0
    VersionCompanyName="mrkj"
    CompilationType=0
    OptimizationType=0
    FavorPentiumPro(tm)=0
    CodeViewDebugInfo=0
    NoAliasing=0
    BoundsCheck=0
    OverflowCheck=0
    FlPointCheck=0
    FDIVCheck=0
    UnroundedFP=0
    StartMode=0
    Unattended=0
    Retained=0
    ThreadPerObject=0
    MaxNumberOfThreads=1[MS Transaction Server]
    AutoRefresh=1
    以上是用记事本打开的vbp文件内容,示例程序是从光盘上拷贝的,已经去掉只读属性.
    另外控件已经拷贝到该目录下.
      

  9.   

    查一下注册表MSACAL.Calendar的CLSID是不是{8E27C92E-1264-101C-8A2F-040224009C02}
    查一下MSCAL.OCX是不是有MSACAL.Calendar
      

  10.   

    注册表MSACAL.Calendar的CLSID不是{8E27C92E-1264-101C-8A2F-040224009C02
    而是8E27C92B-1264-101C-8A2F-040224009C02
    MSCAL.OCX有MSACAL.Calendar
    随后如何处理
                    谢谢您
      

  11.   

    CLSID变化说明你现在注册的这个控件和原来的控件已经不是同一个控件了,可能接口函数什么的都已经发生了变化,所以虽然控件注册成功但仍会报错,建议你要么找回原来的控件要么修改代码使用新控件!
      

  12.   

          问题大概已经解决了,我所应用的控件是一个农历控件由程序光盘拷贝来的,另一个控件是Office2000的控件,此两个控件都是同类型控件,同时这两个控件都是没有Value这个属性的,只有Office2003中的控件才有这个属性.还没有试过.
      另外:想问三楼的狼:CLSID这个是指什么?
                                谢谢各位好心人的指点 
                                                                    一个还没入门的学习者
      

  13.   

    CLSID是CLASS   ID的缩写,CLASS   ID   也是UUID的一种,是COM组件中的全局唯一标识符,  用来标识组件的。对于每个组件类,都需要分配一个唯一表示它的代码,就是ID,为了避免冲突,微软使用GUID作为CLSID,有生成GUID的函数,主要是根据当时的时间、机器地址等信息动态产生,理论上可保证全球唯一以上解释来自http://wenda.tianya.cn/wenda/thread?tid=0039c03cd2467049,遇到不懂的东西先别着急问,最好先Google一下。