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 разрешено использовать его, когда я нет?Что делают эти атрибуты?Кто читает эти атрибуты?Есть проблемы с их удалением?Если нет проблем с их удалением, почему они там?Я действительно спрашиваю:
Как мне заставить это работать?
Но я также хотел бы знать:
Почему это не работает?
ИЗачем делает это гораздо более полезным вопросом, нопочини это было бы хорошо.
Бонус Болтовнядав конечном итоге мы планируем подумать о возможности расследования использованияобъезды, Хотя, предположительно, у обходного метода все еще должен быть атрибут (иначе зачем этот атрибут существует?)