Поделиться через


переименование атрибута импорта

Специфика 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

См. также

атрибуты #import
Директива #import