喫茶XRAYトップページ

[スレッド全体
]

[6697] Delphi XE3のTDynArrayTypeInfoについて返信 削除
2013/2/5 (火) 00:32:33 Sara
みなさん、こんばんは

Delphi XE3にて、System.pas内のDynamic array supportの記述が変更になっています。

name:String[0];の記述が以下の通り name: Byte;になっています。


  TDynArrayTypeInfo = packed record
    kind: Byte;
    name: Byte; {string[0];}
    elSize: Longint;
    elType: ^PDynArrayTypeInfo;
    varType: Integer;
  end;


で、いくつか使っているコンポーネントの中に以下の記述があり、コンパイルエラーになります。

 Inc(PChar(DynArrayTypeInfo), Length(DynArrayTypeInfo.name));

このエラーを回避する方法を探しています。

まぁ、必要なソースの上部にString[0]で定義しなおすと当然コンパイルは通りますが・・・
まっとうな方法とは言えないので・・・(^^;


ご教示いただけるとありがたいです。

[6700] Re:Delphi XE3のTDynArrayTypeInfoについて返信 削除
2013/2/5 (火) 02:26:36 DEKO 〔HomePage
>  Inc(PChar(DynArrayTypeInfo), Length(DynArrayTypeInfo.name));

Inc(PByte(DynArrayTypeInfo), PDynArrayTypeInfo(DynArrayTypeInfo).name);
ですかね。

# XE3 の System.pas 内に上のようなコードがありました。

[6701] Re2:Delphi XE3のTDynArrayTypeInfoについて返信 削除
2013/2/5 (火) 09:58:21 Sara
▼Mr.XRAYさん ▼ DEKOさん

> >  Inc(PChar(DynArrayTypeInfo), Length(DynArrayTypeInfo.name));
>
> Inc(PByte(DynArrayTypeInfo), PDynArrayTypeInfo(DynArrayTypeInfo).name);
> ですかね。
>
> # XE3 の System.pas 内に上のようなコードがありました。


おっと・・・System.pas内を検索しようとは全く考えが及びませんでした・・(^^;

なるほどですね・・・

とりあえず、これでコンパイルを通していました・・・(^^;

  Inc(PChar(DynArrayTypeInfo), DynArrayTypeInfo.name);
(何をしているのか不明だったので、本当にコンパイルを通しただけですが)

教えていただいた通りに修正して様子を見てみます。

ありがとうございました。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82