我们目前有一些针对v5 R20构建的自定义代码。我正在设置一台新机器来为v5 R23构建相同的代码。我想我已经安装了所有东西,但是当我运行我们的构建脚本(调用mkmk)时,我会遇到很多错误,比如
Error in dictionary C:\CatV5\B23\SP2\intel_a\code\dictionary/CATStrFunctionalInterfaces.iid line 150
Can not add interface '{1C3E6229-7F5D-4d06-A4C7-6A95D6E5B1B4} CATIASfmSuperPlateObject SfmSuperPlate'
和
# syst-ERROR: [CreateProcess(""C:\Program")]: %1 is not a valid Win32 application.
有人能指出我正确的方向,找出这些错误的来源吗?
答案 0 :(得分:1)
当我从R20升级到R22时,我看到了这个确切的错误。不久之前,我很抱歉,我不记得确切的修复程序,但是,我确实记得我做过的所有事情,并且在升级到新版本时仍然会这样做,所以这应该有助于指出你的权利方向。
我在对此错误进行故障排除时注意到的一点是,无论我尝试了什么,我都无法在R22环境中编译R20项目。
我必须做的是创建现有程序的布局和结构的精确副本。 (创建界面,然后创建模块,就好像它是一个新程序)。我更改了他们的名字以匹配发布版本:即ITSMyProgram - > ITSMyProgramR22。然后我创建了新的UUID并通过将R22添加到原始名称来重命名别名(这防止了VBA和C#中的混淆)。最后,我将原始代码变量和方法复制到新文件中。 (注意:只重命名接口,别名,模块和类名 - 里面的方法应该没问题。同时确保不要覆盖新的UUID。)在C#和VBA方面,我引用了新的别名。 升级到R23时我遵循了相同的过程,编译和运行代码没有问题。
如果这不起作用,请确保在Visual Studio中安装了64位c ++编译器,并且使用2008用于R22及更高版本。
也可以尝试以管理员身份运行。由于某种原因,.tlb文件不会在Windows 7中注册并且以管理员身份运行会修复它。
可能有一个更好的解决方案,但我更喜欢这个,因为我为Catia的每个版本级别获得了一个新的干净界面,底层代码基本相同。
如果有任何帮助,请告诉我。