2016-11-16 167 views
0

我们有一些针对v5 R20构建的自定义代码。我正在设置一台新机器,以针对v5 R23构建相同的代码。我想我已安装了一切,但是当我运行我们的构建脚本(调用mkmk),我得到的错误的负载,如如何在构建CATIA CAA RADE代码时解决此错误

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. 

任何人都可以点我在正确的找出这些错误来自哪里?

回答

1

当我从R20升级到R22时,我看到了这个确切的错误。很久以前,所以我很抱歉,我不记得确切的程序来解决它,但是,我确实记得我升级到新版本时所做的所有事情,所以这应该有助于您指出正确的方向。

在我对这个错误进行故障排除期间,我发现了一些问题,无论我尝试了什么,都无法在R22环境中编译R20项目。

我所要做的就是创建我现有程序的布局和结构的精确副本。 (创建界面,然后模块,就好像它是一个新程序)。我更改了它们的名称以匹配发行版本,即ITSMyProgram - > ITSMyProgramR22。然后,我创建了新的UUID,并通过将R22添加到原始名称来重命名别名(这可以避免VBA和C#中的混淆)。最后,我将原始代码变量和方法复制到新文件中。 (注意:只有接口,别名,模块和类名被重命名 - 里面的方法应该没问题,并且确保不要覆盖新的UUID。)在C#和VBA方面,我引用了新的别名。 我在升级到R23时遵循了相同的过程,并且在编译和运行代码时没有问题。

如果这不起作用,请确保在Visual Studio中安装了64位C++编译器,并且您正在使用2008 for R22及更高版本。

也可以尝试以管理员身份运行。出于某种原因,.tlb文件不会在Windows 7中注册,并且以管理员身份运行会解决该问题。

可能有更好的解决方案,但我更喜欢这一个,因为我为Catia的每个发行版级别获得了一个新的干净界面,而底层代码基本相同。

让我知道这是否有帮助。