2017/05/17

Delphi2007へマイグレーションしたメモ

すごく古いソースから UTF8じゃないString最終の Delphi2007(これも古い)へマイグレーションした時のいろいろメモ

パッケージのインストールで vcl50.dcp と vclx50.dcp が古いとメッセージが出る
プロジェクトマネージャの Requires に
C:\Program Files (x86)\CodeGear\RAD Studio\5.0\lib\vcl.dcp
C:\Program Files (x86)\CodeGear\RAD Studio\5.0\lib\vclx.dcp
を追加して、vcl50.dcp と vclx50.dcp を削除



DsgnIntf が見つかりません

[プロジェクト]→[オプション] の 「ディレクトリ/条件」へ DsgnIntf=DesignIntf を追加


[ツール]→[オプション] の Delphi オプション 「ライブラリパス - Win32」へ $(BDS)\source\ToolsAPI (DesignIntfがある場所)を追加



DesignerTypes.dcu を作成できません
Delphi2007 を管理者権限で起動してコンパイル


TClassProperty が未定義
uses へ DesignEditors を追加


DesignEditors.pas で Proxies.dcu が見つかりません

uses から Proxies を削除するか

下記のダミー(proxies.pas)を ToolsAPI へ置く
unit proxies;
    interface
    function isproxyclass(componentclass: tclass): boolean;

implementation
    function isproxyclass(componentclass: tclass): boolean;
    begin
        result := true;
    end;
end.

TPropertyEditor が未定義
uses へ DesignEditors を追加 ↓つづく

ToolsAPI.pas で DockForm.dcu が見つかりません
C:\Users\Public\Documents\RAD Studio\5.0\Demos\DelphiWin32\VCLWin32\Docking に旧DockForm関連ファイルがあり、ファイル名が uDockForm.pas に変更されている
上記パスを [ツール]→[オプション] の Delphi オプション 「ライブラリパス - Win32」 に追加して、ToolsAPI.pas uses節の DockForm を uDockForm に変更

Delphi5
C:\Program Files\Borland\Delphi5\Source
配下にあるライブラリの一部は

Delphi2007
C:\Users\Public\Documents\RAD Studio\5.0\Demos\DelphiWin32\VCLWin32
環境変数使うと $(BDSCOMMONDIR)\Demos\DelphiWin32\VCLWin32
へ移動している物が多数あり、未定義とか見つかりませんの時は一度 grep してみましょう

TCursorProperty が未定義

uses へ VCLEditors を追加

[DCC エラー] E2161 Warning: Duplicate resource:  ~.RES resource discarded.
[DCC エラー] F2092 ユニットまたはプログラム '~' が自分自身を参照しています

~.pbl の {$R *.res} を削除
~.pas の {$R ~} を {$R *.res} へ変更

複数リソース取り込みがあると、その症状になるらしい

[DCC エラー] E2202 要求したパッケージ 'DbxReadOnlyMetaData' が見つかりません

実行時パッケージ一覧の中から inetdbxpress を削除する

↑実行時パッケージを利用したコンパイルの場合、パッケージ一覧に不要なものが多く含まれているので、順番に消してコンパイルしてみる


実行時パッケージを利用した場合に配布するファイル
C:\Program Files (x86)\CodeGear\RAD Studio\5.0\bin
C:\Windows\SysWOW64
辺りにあります(Win 64bitの場合)
また、追加コンポーネント類の dplファイルは
C:\Users\Public\Documents\RAD Studio\5.0\Bpl
に置かれています(デフォルトで)

素の Windowsで対象アプリケーションを実行すると ○○.bpl が足りませんと教えてくれますが、素の環境を用意するのは大変なので、開発環境からの実行時にイベントログに表示されるモジュールのロードをコピペして .bpl を検索するのが確実です







0 件のコメント: