Delphi の TClientDataset クラスで記述されたファイルを .NET コードで読み取る必要があります。ここに記載されている解決策は私にとってはうまくいきません。
3 に答える
「Windows プラットフォームで実行されない dotNet プログラム」とは、Mono アプリケーションをデプロイしていることを意味します。おそらく Linux で、その場合は WINE を試して、上記の Delph アプリが期待どおりに動作するかどうかを確認してください。はいの場合、ネットワークを介した通信なしで両方が同じハードウェア上で実行されるため、dotnet アプリ マシンを離れるという問題は解決されます。
編集:OPは、彼がMonoDroidとMonotouchを使用しているため、Wineを使用できないと指定したため、残りのオプションは次のとおりです。
- フォーマットをリバース エンジニアリングする (危害から身を守るために、まず弁護士に相談してください)
- Embarcadero にファイルの定義を尋ねてください (あまり期待していません)。
- XML でファイルをエクスポートするように Delphi/C++ アプリケーションを変更します。
- これらの *.cd を前処理して XML にエクスポートする Delphi アプリケーションを作成してから、iOS / Android マシンに送信します。
4 つの選択肢のうち、4 番目の方法がおそらく最速です。3 番目の方法が最良の方法です。
最初のものは、世界中のrevエンジニアに対するすべての法律のためにあなたを困らせる可能性があります(米国には非常に厳しいと聞いたDMCAがありますが、IANALであり、米国市民でさえありません).
2つ目は賭けです。
実際、元の CD バイナリ形式は、対応する Hejlsberg/Hansen によって提出された米国特許にかなり詳しく記載されています。後で borland がいくつかの追加機能 (ネストされたデータセットのサポートなど) を加えて拡張したことを認めなければなりませんが、基本的にはまったく同じ形式であり、midas ソースをほとんど掘り下げることはありません (d2010 でリリースされました)。やった
Delphi を使用して、cds ファイルを読み取り、その内容を .Net から読み取ることができるファイルに書き込む小さなアプリを作成する必要があります (適切な形式を選択します)。Delphi の無料試用版をダウンロードできます。別のPCでアプリを開発できます。入力 *.cds ファイルを、問題のあるプラットフォームからこの新しいアプリが存在する PC に ftp できます。次に、アプリを実行し、新しく作成された出力ファイルを問題のあるプラットフォームに ftp してから、.Net で読み取ります。
ftp を使用して、あるプラットフォームから別のプラットフォームにファイルを移動できます。別のプラットフォームで使用する必要がある (または作成しようとしている) 優れたツールがある場合、1 つのプラットフォームに固執する理由はありません。:-)