Vcl.Printers.pas (888): W1025 Función de idioma no compatible: 'atributo personalizado'
Estoy tratando de arreglarotro error VCL; esta vez enVcl.Printers.pas
.
Por ahora estamos haciendo esto copiando los archivos de origen de VCL con errores a otra carpeta en la ruta de la biblioteca de Delphi y aplicando soluciones a esos archivos. Aplicamos la solución aTPrinter.SetPrinter
.
Pero hay seis métodos en el archivo que están decorados con atributos:
[PrintingPermission(SecurityAction.LinkDemand, Level=PrintingPermissionLevel.AllPrinting)]
procedure TPrinter.Abort;
begin
...
[PrintingPermission(SecurityAction.LinkDemand, Level=PrintingPermissionLevel.AllPrinting)]
procedure TPrinter.EndDoc;
begin
...
[PrintingPermission(SecurityAction.LinkDemand, Level=PrintingPermissionLevel.AllPrinting)]
procedure TPrinter.NewPage;
begin
...
[PrintingPermission(SecurityAction.LinkDemand, Level=PrintingPermissionLevel.AllPrinting)]
{$IF DEFINED(CLR)}
procedure TPrinter.SetPrinter(ADevice, ADriver, APort: string; ADeviceMode: IntPtr);
{$ELSE}
procedure TPrinter.SetPrinter(ADevice, ADriver, APort: PChar; ADeviceMode: THandle);
{$ENDIF}
var
...
[PrintingPermission(SecurityAction.LinkDemand, Level=PrintingPermissionLevel.AllPrinting)]
function SetPrinter(NewPrinter: TPrinter): TPrinter;
begin
...
Cada uno de estos métodos causa una advertencia:
[Advertencia dcc32] Vcl.Printers.pas (968): W1025 Característica de idioma no compatible: 'atributo personalizado'[Advertencia dcc32] Vcl.Printers.pas (978): W1025 Característica de idioma no compatible: 'atributo personalizado'[Advertencia dcc32] Vcl.Printers.pas (1015): W1025 Característica de idioma no compatible: 'atributo personalizado'[Advertencia dcc32] Vcl.Printers.pas (1026): W1025 Característica de idioma no compatible: 'atributo personalizado'[Advertencia dcc32] Vcl.Printers.pas (1080): W1025 Característica de idioma no compatible: 'atributo personalizado'[Advertencia dcc32] Vcl.Printers.pas (1599): W1025 Característica de idioma no compatible: 'atributo personalizado'Podría simplemente eliminar los atributos. O presumiblemente hay una manera de suprimir las advertencias. Pero supongo que los atributos agregados por Embarcadero tienen algún propósito.
¿Cuál es la forma de hacer el idioma?apoyo la característicaatributos personalizados?¿Por qué no es una advertencia en la fuente VCL?¿Por qué se permite usar la fuente VCL cuando no lo estoy?¿Qué están haciendo estos atributos?¿Quién lee estas atribuciones?¿Hay problemas para eliminarlos?Si no hay problemas para eliminarlos, ¿por qué están ahí?Realmente estoy preguntando:
¿Cómo lo hago funcionar?
Pero también me encantaría saber:
¿Por qué no funciona?
Y elpor qué hace que sea una pregunta mucho más útil, pero elarreglalo sería bueno.
Chatter de bonificaciónsi, eventualmente planeamos pensar en la posibilidad de investigar el uso dedesvíos. Aunque presumiblemente el método desviado aún debería tener el atributo (de lo contrario, ¿por qué existiría el atributo?)