переименование атрибута импорта
Специфика C++
Обходит проблемы конфликтов имен.
Синтаксис
#import переименование библиотеки типов ("OldName", "NewName" )
Параметры
OldName
Старое имя в библиотеке типов.
NewName
Имя, используемое вместо старого имени.
Замечания
При указании атрибута переименования компилятор заменяет все вхождения OldName в библиотеке типов с предоставленным пользователем NewName в результирующем файле заголовков.
Атрибут переименования можно использовать, если имя в библиотеке типов совпадает с определением макроса в файлах заголовков системы. Если эта ситуация не устранена, компилятор может выдавать различные синтаксические ошибки, такие как ошибка компилятора C2059 и ошибка компилятора C2061.
Примечание.
Замена предоставляется для имени, используемого в библиотеке типов, а не для имени, используемого в открывшемся файле заголовка.
Например, предположим, что свойство MyParent
существует в библиотеке типов, а макрос GetMyParent
определен в файле заголовка и используется перед #import
. Так как GetMyParent
это имя функции-оболочки по умолчанию для свойства обработки get
ошибок, возникает столкновение имен. Для решения проблемы используйте следующий атрибут в инструкции #import
:
#import MyTypeLib.tlb rename("MyParent","MyParentX")
чтобы переименовать имя MyParent
в библиотеке типов. Попытка переименовать программу-оболочку GetMyParent
завершится ошибкой:
#import MyTypeLib.tlb rename("GetMyParent","GetMyParentX")
Это связано с тем, что имя GetMyParent
происходит только в результирующем файле заголовка библиотеки типов.
END C++ Specific