0

DelphiTStringField.FieldNameのプロパティでUnicode (または単にキリル文字) 文字を使用するにはどうすればよいですか?TClientDataSet

私はこれを試しましたが、最後の行では機能しません:

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

1 に答える 1

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 として) とそれを作成する方法を使用すると、aClientDataSet.CreateDataset で r/time エラー「無効なフィールド タイプ」が発生します。

于 2014-05-23T18:54:53.083 に答える