atributo de importación rename

Específico de C++

Resuelve problemas del conflicto de nombres.

Sintaxis

#importtype-libraryrename( "OldName" , "NewName" )

Parámetros

OldName
Nombre anterior en la biblioteca de tipos.

NewName
Nombre usado en lugar del nombre anterior.

Comentarios

Si se especifica el atributo rename, el compilador reemplaza todas las apariciones de OldName en una biblioteca de tipos por el NewName proporcionado por el usuario en los archivos de encabezado resultantes.

El atributo rename se puede utilizar cuando un nombre en la biblioteca de tipos coincide con una definición de macro en los archivos de encabezado del sistema. Si esta situación no se resuelve, el compilador puede emitir varios errores de sintaxis, como el error del compilador C2059 y el error del compilador C2061.

Nota:

La sustitución se aplica a un nombre usado en la biblioteca de tipos, no a un nombre usado en el archivo de encabezado resultante.

Suponga, por ejemplo, que hay una propiedad denominada MyParent en una biblioteca de tipos y que se define una macro GetMyParent en un archivo de encabezado y se utiliza antes de #import. Como GetMyParent es el nombre predeterminado de una función contenedora para la propiedad get del control de errores, se produce un conflicto de nombres. Para solucionar el problema, utilice el siguiente atributo en la instrucción #import:

#import MyTypeLib.tlb rename("MyParent","MyParentX")

que cambia el nombre MyParent en la biblioteca de tipos. Un intento de cambiar el nombre del contenedor GetMyParent producirá un error:

#import MyTypeLib.tlb rename("GetMyParent","GetMyParentX")

Esto se debe a que el nombre GetMyParent solo aparece en el archivo de encabezado resultante de la biblioteca de tipos.

END C++ específico

Consulte también

atributos #import
directiva #import