Vcl.Printers.pas (888): W1025 Неподдерживаемая языковая функция: «настраиваемый атрибут»

Я пытаюсь исправитьеще одна ошибка VCL; на этот раз вVcl.Printers.pas.

Сейчас мы делаем это, копируя ошибочные исходные файлы VCL в другую папку в пути к библиотеке Delphi и применяя исправления к этим файлам. Мы применили исправление кTPrinter.SetPrinter.

Но в файле есть шесть методов, которые украшены атрибутами:

[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
   ...

Каждый из этих методов вызывает предупреждение:

[dcc32 Предупреждение] Vcl.Printers.pas (968): W1025 Неподдерживаемая языковая функция: «настраиваемый атрибут»[dcc32 Предупреждение] Vcl.Printers.pas (978): W1025 Неподдерживаемая языковая функция: «настраиваемый атрибут»[dcc32 Предупреждение] Vcl.Printers.pas (1015): W1025 Неподдерживаемая языковая функция: «настраиваемый атрибут»[dcc32 Предупреждение] Vcl.Printers.pas (1026): W1025 Неподдерживаемая языковая функция: «настраиваемый атрибут»[dcc32 Предупреждение] Vcl.Printers.pas (1080): W1025 Неподдерживаемая языковая функция: «настраиваемый атрибут»[dcc32 Предупреждение] Vcl.Printers.pas (1599): W1025 Неподдерживаемая языковая функция: «настраиваемый атрибут»

Я мог бы просто удалить атрибуты. Или, по-видимому, есть способ подавления предупреждений. Но я предполагаю, что атрибуты, добавленные Embarcadero, имеют какую-то цель.

Какой способ сделать языкслужба поддержки особенностьпользовательские атрибуты?Почему это не предупреждение в источнике VCL?Почему VCL разрешено использовать его, когда я нет?Что делают эти атрибуты?Кто читает эти атрибуты?Есть проблемы с их удалением?Если нет проблем с их удалением, почему они там?

Я действительно спрашиваю:

Как мне заставить это работать?

Но я также хотел бы знать:

Почему это не работает?

ИЗачем делает это гораздо более полезным вопросом, нопочини это было бы хорошо.

Бонус Болтовня

дав конечном итоге мы планируем подумать о возможности расследования использованияобъезды, Хотя, предположительно, у обходного метода все еще должен быть атрибут (иначе зачем этот атрибут существует?)

Ответы на вопрос(1)

Ваш ответ на вопрос