我在一個小應用程式中使用了activex 中的f1book的電子表格來輸入內容但在其他滑有安裝delphi6開發環境的機孖上就運行不了該程式,我估計是該控件沒有註冊的原因,不知對否?另外:
如何向windows 註冊 activex 中的f1book的電子表格控件?

解决方案 »

  1.   

    1 在你的安装程序中打包f1book的控件,
    2 注册直接用regsvr运行(delphi也自带注册工具)就行了
      

  2.   

    非常謝謝你的回複但我不知這個f1book是包含在哪個文件包裏的啊,,請問你知道嗎?
      

  3.   

    下个最新版本的,在TTF16.OCX中 REGSVR32.exe 路径\ttf16.ocx
      

  4.   

    f1book是ActiveX组件,在使用时需要像Windows注册。
    注册不一定要使用REGSVR32.exe,你也不可能要求客户去手动注册。
    可以让程序自动去注册,ActiveX组件注册信息,存放在注册表中。
    在程序初始化阶段,让以下信息写入注册表,DELPHI很容易做到。
    注意相关的路径要正确。[HKEY_CLASSES_ROOT\CLSID\{042BADC5-5E58-11CE-B610-524153480001}]
    @="VCI Formula One Workbook"[HKEY_CLASSES_ROOT\CLSID\{042BADC5-5E58-11CE-B610-524153480001}\Control]
    @=""[HKEY_CLASSES_ROOT\CLSID\{042BADC5-5E58-11CE-B610-524153480001}\InprocServer32]
    @="C:\\WINNT\\system32\\VCF132.OCX"
    "InprocServer32"=hex(7):44,00,51,00,4c,00,63,00,4c,00,21,00,78,00,39,00,47,00,\
      3d,00,54,00,79,00,36,00,3f,00,75,00,66,00,2a,00,26,00,2e,00,42,00,53,00,61,\
      00,6d,00,70,00,6c,00,65,00,41,00,63,00,74,00,69,00,76,00,65,00,58,00,43,00,\
      6f,00,6e,00,74,00,72,00,6f,00,6c,00,73,00,3e,00,6b,00,59,00,7a,00,55,00,68,\
      00,6a,00,46,00,29,00,67,00,28,00,77,00,44,00,44,00,65,00,66,00,6c,00,43,00,\
      77,00,32,00,35,00,00,00,00,00[HKEY_CLASSES_ROOT\CLSID\{042BADC5-5E58-11CE-B610-524153480001}\Insertable]
    @=""[HKEY_CLASSES_ROOT\CLSID\{042BADC5-5E58-11CE-B610-524153480001}\MiscStatus]
    @="0"[HKEY_CLASSES_ROOT\CLSID\{042BADC5-5E58-11CE-B610-524153480001}\MiscStatus\1]
    @="131473"[HKEY_CLASSES_ROOT\CLSID\{042BADC5-5E58-11CE-B610-524153480001}\ProgID]
    @="VCF1.VCF1Ctrl.1"[HKEY_CLASSES_ROOT\CLSID\{042BADC5-5E58-11CE-B610-524153480001}\ToolboxBitmap32]
    @="C:\\WINNT\\system32\\VCF132.OCX, 1"[HKEY_CLASSES_ROOT\CLSID\{042BADC5-5E58-11CE-B610-524153480001}\TypeLib]
    @="{042BADC8-5E58-11CE-B610-524153480001}"[HKEY_CLASSES_ROOT\CLSID\{042BADC5-5E58-11CE-B610-524153480001}\Version]
    @="1.0"以上信息是通过在注册表编辑器中输入Formula为关键字得到。也许不全。
    但此方法绝对可用,我曾在多个项目中使用。只是源码都不在我这了。