atributo de importación rename
Específico de C++
Resuelve problemas del conflicto de nombres.
Sintaxis
#import nombre de la biblioteca de tipos( "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