Files
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK
и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало
docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор
tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается.

- .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным
  (safety-net на случай повторной локальной выгрузки).
- CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 20:00:05 +03:00

3.2 KiB

title, type, api, tags, sources
title type api tags sources
Рекомендации по доработкам библиотек, написанных на VC++, не имеющих WinApp и использующих MFC guide
api7
guide
api7
vc
vc_recommendations.html

Компиляция библиотек

Для таких библиотек доработки ОБЯЗАТЕЛЬНЫ! Без доработок происходят вылеты при открытии диалогов. Библиотеки, написанные с использованием VC++, имеющие тип extension dll и использующие классы MFC (например CString, CWnd, CDialog), требуют обязательной перекомпиляции под Unicode, т.к. система КОМПАС V10 переведена на Unicode. Для перекомпиляции необходимо выполнить следующие действия. 1.Создать копию конфигураций Debug и Release. 2.Добавить в новые конфигурации предопределенные объявления _UNICODE, UNICODE. 3.Убрать _MBCS в настройках проекта. См. Project Settings C/C++ Preprocessor definitions. Использование Unicode потребует коррекции функций и типов переменных — как минимум в функциях, использующих MFC. Например, потребуется замена некоторых переменных типа char * на TCHAR*. Каких именно, покажет компилятор. TCHAR при компиляции под Unicode заменяется на wchar_t, при компиляции без использования Unicode  — на char. Строковые константы в коде необходимо окружить дефайном _T, например: char str[250] = ""; заменяется на TCHAR str[250] = _T(""); Потребуется замена вызова неюникодных функций, работающих со строками на объявления, которые в зависимости от типа компиляции заменяются на юникодный или неюникодный аналог функции. Например: strcmp strcpy atof Данные функции в местах, где будет использоваться TCHAR *, необходимо заменить на объявления из файла TCHAR.h. Пример замен:

sprintf _tprintf
atof _tcstod
strlen _tcslen
strcpy _tcscpy
В Коломне разработан макрос, который позволяет упростить перевод текстов на Unicode (cм. ConvertToUnicode.dcm и инструкцию по подключению макроса к VC++ 6.0).
В API КОМПАС 10 появились юникодные аналоги функций и структур, в которых использовались char *.
При необходимости в библиотеке можно вставить их использование.