Delphi2007へマイグレーションしたメモ
すごく古いソースから UTF8じゃないString最終の Delphi2007(これも古い)へマイグレーションした時のいろいろメモ
パッケージのインストールで vcl50.dcp と vclx50.dcp が古いとメッセージが出る
プロジェクトマネージャの Requires に
DsgnIntf が見つかりません
[プロジェクト]→[オプション] の 「ディレクトリ/条件」へ DsgnIntf=DesignIntf を追加
[ツール]→[オプション] の Delphi オプション 「ライブラリパス - Win32」へ $(BDS)\source\ToolsAPI (DesignIntfがある場所)を追加
DesignerTypes.dcu を作成できません
Delphi2007 を管理者権限で起動してコンパイル
DesignEditors.pas で Proxies.dcu が見つかりません
TPropertyEditor が未定義
uses へ DesignEditors を追加 ↓つづく
ToolsAPI.pas で DockForm.dcu が見つかりません
実行時パッケージを利用した場合に配布するファイル
パッケージのインストールで vcl50.dcp と vclx50.dcp が古いとメッセージが出る
プロジェクトマネージャの Requires に
C:\Program Files (x86)\CodeGear\RAD Studio\5.0\lib\vcl.dcpを追加して、vcl50.dcp と vclx50.dcp を削除
C:\Program Files (x86)\CodeGear\RAD Studio\5.0\lib\vclx.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 を追加 ↓つづく
C:\Users\Public\Documents\RAD Studio\5.0\Demos\DelphiWin32\VCLWin32\Docking に旧DockForm関連ファイルがあり、ファイル名が uDockForm.pas に変更されている
上記パスを [ツール]→[オプション] の Delphi オプション 「ライブラリパス - Win32」 に追加して、ToolsAPI.pas uses節の DockForm を uDockForm に変更
Delphi5 の
Delphi2007 の
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 を検索するのが確実です
コメント
ハードデスクが壊れて大慌て
コンポーネントの再インストールで
困っていましたが、貴方のアドバイス
「DesignEditors.pas で Proxies.dcu が見つかりません」
で助かりました。
ありがとうございます。