Как решить эту ошибку при построении кода CATIA CAA RADE
У нас есть собственный код, созданный в настоящее время для 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.
Кто-нибудь может указать мне правильное направление, чтобы узнать, откуда эти ошибки?
1 ответ
Я увидел именно эту ошибку при обновлении с R20 до R22. Это было некоторое время назад, поэтому я прошу прощения, что не помню точную процедуру, чтобы исправить это, однако, я помню все, что я делал и все еще делаю при обновлении до более новых версий, так что это должно помочь вам указать правильное направление.
Во время устранения этой ошибки я заметил, что независимо от того, что я пытался, мне не удалось собрать проект R20 в среде R22.
Мне нужно было создать точную копию макета и структуры моей существующей программы. (Создайте интерфейс, а затем модуль, как если бы это была новая программа). Я изменил их имена в соответствии с версией выпуска: т.е. ITSMyProgram -> ITSMyProgramR22. Затем я создал новые UUID и переименовал псевдоним, добавив R22 к исходному имени (это предотвратило путаницу в VBA и C#). Наконец, я копирую исходные переменные кода и методы в новые файлы. (Примечание: только имена интерфейсов, псевдонимов, модулей и классов переименовываются - методы внутри должны быть в порядке. Также убедитесь, что не перезаписывают новые UUID.) На стороне C# и VBA я ссылаюсь на новый псевдоним. Я следовал этой же процедуре при обновлении до R23 и не испытывал проблем при компиляции и запуске кода.
Если это не работает, убедитесь, что у вас установлен 64-битный компилятор C++, установленный в Visual Studio, и что вы используете 2008 для R22 и выше.
Также, возможно, попробуйте запустить от имени администратора. По какой-то причине файл.tlb не будет зарегистрирован в Windows 7, и запуск от имени администратора исправит это.
Может быть, есть лучшее решение, но я предпочитаю это, так как я получаю новый чистый интерфейс для каждого уровня выпуска Catia, и основной код по существу одинаков.
Дайте мне знать, если что-нибудь из этого помогло.