64位ocx能在xp 32位系统上注册吗,反过来,32位的ocx能在64位xp上注册并加载。

解决方案 »

  1.   

    64位系统兼容32位程序;32位系统不能运行64位程序
    YES
      

  2.   

    32位的系统无法正确处理64位程序的代码,因为存在二个原因:
    1、你的程序总要调用一些系统库函数的,至少要调用系统的内核库函数,更不要说还有API调用了。但32位的系统库是无法向高版本上处理的,所以底层就已缺少支持。
    2、你的64位程序在一些数据定位上也是不一样的,如结构对齐等,因为这也是无法支持的。基于以上二个原因,低版本无法支持高版本的运行。但高版本考虑了低版本的情况,使用了兼容模式来支持低版本的运行。所以,虽然64位程序不能在32位程序上运行,但32位程序却可以在64位程序上运行。这和安装双系统类似:先WIN98再安装XP,XP会建议双启动菜单,但先安装XP,再安装WIN98,由于WIN98版本太低,没考虑过这种情况,所以,不但不会出现双启动菜单,连XP在C盘中的文件都会被覆盖导到无法正常启动XP。
      

  3.   

    x64不能在32位的系统中注册32为的可以用于x64系统注册,但是只限于使用控件的程序也必须是32位的,
    比如64位系统包含32位和64位IE,32位的控件可以在32的IE中使用,不能在64位的IE中使用
      

  4.   

    ocx com 基于虚函数表, 指针大小确定了取下一个接口函数时步进多少;指针++ 的行为方式不同是问题的核心.