Как я могу использовать символы Юникода (или просто кириллицу) в свойстве TStringField.FieldName в Delphi?

Как я могу использовать символы Юникода (или просто кириллицу) на TStringField.FieldName собственностью TClientDataSet на Delphi?

Я пробовал это, и это не работает в последней строке:

aStringField := TStringField.Create(aClientDataSet);
aStringField.FieldName := 'аАяЯ';
aStringField.DataSet := aClientDataSet;
aClientDataSet.CreateDataset;

1 ответ

Решение

Программа ниже компилируется и выполняется (XE4) без ошибок.

program CDS;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils, db, dbclient;

procedure Test;
var
  aClientDataSet : TClientDataSet;
  aStringField : TStringField;
begin
  aClientDataSet := TClientDataSet.Create(Nil);
  aStringField := TStringField.Create(aClientDataSet);
  aStringField.FieldName := 'аАяЯ';
  aStringField.DataSet := aClientDataSet;
  aClientDataSet.CreateDataset;
end;

begin
  Test;
end.

Если я использую ваше объявление aStringField (то есть как TField) и ваш метод его создания, я получаю ошибку r/time "Недопустимый тип поля" в aClientDataSet.CreateDataset.

Другие вопросы по тегам