で、コンパイルするのですが、エラーが出ました。QuickSortでPointer型はだめよといわれています。
この代入も Delphi8ではサポートしてくれないようです。
Pointer型はだめですので、当然、PPointerListなどもってのほかです。
Language Issues in Porting VCL Applications to Delphi 8 for .NET には、Pointer型は(安全な.NETではそんな危険(Unsafe)な型は)使えないよ。とのことです、下のように、TObjectに直しなさい!と指示されています。しかし、こう(すべてのケースで)すんなり直せるのだろうか… ちなみにビットシフトもunsafeなコードだそうです。結局このプログラムは Pointer型が非常に多いことで、unsafeのオンパレードになりそうだったので、断念しました。
結局、数学的データ処理部や構造体をポインタで渡すような部分は再設計からしなおす必要があるのかもしれません。(あるいは移植せずにWin32のままにするか)
まず、dprファイルを開きます。
フォームはきれいに読み込めます。
で、コンパイルすると、pchar でエラーが出ます。ここは unsafeにして回避します。
すると File of byte がunsupported とか言ってくれます。.NETコンパイラでは、対応してくれないようです。typed file と untyped file がだめなので、
F:File; などもエラーが出ます。 TextFile はいいようです。これは unsafeにしても逃げられませんでした。
しかし、言語ガイドには、ちゃんと書いてあります。今後Win32 コンパイラを出す気満々なのでしょうか?
これも結局手間がかかりそうなのでここでストップしました。
コンパイルするとRectなんて知らないよ。といわれます。
borland.vcl.types をusesに書き足します。
これでコンパイルが通って動きます。 pchar も File も Pointer も使わないプログラムだったら、ほとんど修正しなくても移行することができます。(そんなプログラムがどれだけあるかは謎ですが)