Programing

midas.dll 4daeb069 @Delphi

Delphi7 > 2010の以降作業中。

滅多にお目にかかることはなかろう、エラーです。

midas.dll

ClientDataSetを使うときに、必要なミドルウェアのエラーですが、
原因がわからず、困っていました。

こんな場合のセオリーは、
今も昔も、

怪しい箇所を、1から、作り直す・・・

  1. 新規に、ClientDataSetを貼り付け、
    DataProviderを経由して、TTableに接続すると、エラーはなし。
  2. 既存のClientDataSetから、項目を切り取り、貼り付け。
    まず、既存のClientDataSetで、項目を消したにも関わらず、エラー。

原因は、AgregateFieldのフィールド・・・

件数を調べるために、Count(*)としたところ、

これが、エラーの元凶。

* ではなく、キーフィールドを指定してやると、解決しました。

midasが古いのかな?、
わからんけど、とりま、動いた。

-

Ebcdic @Delphi2010

引き続き、古いコードを、
Delphi2010に、置き換えている。(XE4が出ているにも、関わらず・・・)

XE2もあるが、文字コードあたりが、ややこしいので、
7 > XE2より、段階を経た、2010にしている。

で、今回は、Ebcdic

文字が化けて、読み込めない・・・><

 

Twitter の通り、
Embarcadero Discussion Forums: Delphi 6 to Delphi 2010 character codes …

が、役に立った。

D7 > TAryOfChr = array[0..127] of Char

D2010 > TAryOfChr = array[0..127] of AnsiChar

Charも、2010では、Unicode体系なので、
SJISを読み込んで、変数に割り当てる時は、
AnsiChar、AnsiStringなどを、使う必要があるよう。

※本来の技術的意味からは、若干の間違っていると思います。

関連ページ >

-