我再看看吧,如果找到了原因再告诉你。如果你有时间的话也再帮忙看看,谢谢啊!
供参考的结果
查了很长时间,对话框的具体代码仍然是不知所踪,不过找到了其资源文件:CATMmuDebugCAADlg.CATNls,其位置位于:Catia目录\intel_a\resources\msgcatalog\CATMmuDebugCAADlg.CATNls下。而在CAAMechanicalModeler.edu\CAAMmrDebugPrtWksAddin.m这个module下的CAAMmrDebugAdn.cpp这个文件中有:
void CAAMmrDebugAdn::CreateCommands()
{
// CAAMmrDebugJournalHdr : identifier of the command header
// CATMmuDebugCAA : name of the mechanical modeler command class
// CATMmuDebugCAA : name of the module exporting the mechanical modeler command
// NULL : no argument for the CATMmuDebugCAA command class
new CAAMmrDebugAddinHeader("CAAMmrDebugJournalHdr",
"CATMmuDebugCAA",
"CATMmuDebugCAA", (void *)NULL);
}
所以应当来说,引起响应的应该是CATMmuDebugCAA这个module,但是事实上并不是,因为CATMmuDebugCAADlg.CATNls这个资源文件是位于CATIA目录下的,可能是它下面某个module的。但是不知道其代码究竟在哪里。
给大家一些参考,希望能够给点指点啊,谢谢! 问题是没有资源文件,也是那样的结果 详细的看看了,收获真是不少。等下要照着练习了 好久没来,我来帖一个这个问题的答案吧。
这个module的库文件位置:
Catia目录\intel_a\code\bin\CATMmuDebugCAA.dll
Catia目录\intel_a\code\lib\CATMmuDebugCAA.lib
资源文件位于:
Catia目录\intel_a\resources\msgcatalog\CATMmuDebugCAADlg.CATNls
是CATIA自身系统带的文件。
打开CATMmuDebugCAA.dll可以看到两个函数:
DASSAULT_SYSTEMES_CAA2_INTERNAL_CATMmuDebugCAA
fctCreateCATMmuDebugCAA
其中第一个函数是CATIA生成的一个函数,其最后的“CATMmuDebugCAA”表示module的名称,这正好与文件中相对应。而第二个函数则是这个module中的类名,其中fctCreate这个前缀是CATIA自己加上去的,其后面的CATMmuDebugCAA是其中的类的名字,一般是Command的名字,而这个Command对应的Dlg名称是不会显示的,所以也就造成了我们看不到这个命令对应的对话框的文件这一情况。因为它们都存在了dll文件中,源代码是看不到的。
我想大概应该是这样。
回复 地板 huright 的帖子
哥们,你是搞caa的啊,我这几天正在学呢,那个caa文档怎么看啊,全英文啊,而且那么多,很头痛,给点建议吧,谢谢 楼上属广告帖请删除! 已禁止访问! 一一报告还需等45秒! 没时间等:@Q处理完记得也删除此帖
页:
1
[2]