ユニット Forms は異なるバージョン Messages.WM_THEMECHANGED によりコンパイルされています

解決


 2006-06-16 11:44:43  No: 22206  IP: 192.*.*.*

Delphi6のプロジェクトをDelphi7でコンパイルすると致命的エラー
「ユニット Forms は異なるバージョン Messages.WM_THEMECHANGED によりコンパイルされています」
出ます。
解決方法をご教示ください。
エラーの場所は  →です。

program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {OKBottomDlg},
 → About in 'About.pas' {AboutBox};

編集 削除
 2006-06-16 12:07:30  No: 22207  IP: 192.*.*.*

書き忘れましたがDelphiのバージョンはいずれもPersonalです。

編集 削除
風来坊  2006-06-16 17:31:11  No: 22208  IP: 192.*.*.*

DCUファイルを削除してみるとか。

編集 削除
 2006-06-16 19:42:45  No: 22209  IP: 192.*.*.*

すみません  特に変化はありません。

編集 削除
風来坊  2006-06-16 21:52:23  No: 22210  IP: 192.*.*.*

私も経験があるのですが、D6 か D7 で、
$(Delphi)\Source\Vcl や $(Delphi)\Lib\Source\Rtl\Win
にライブラリパスを通していませんか?
私はこれが原因で、同様のエラーに出会ったことがあります。
あくまで私の経験談ですが...

編集 削除
風来坊  2006-06-16 21:53:45  No: 22211  IP: 192.*.*.*

ゴメン。
Personal って、ソース付いていないんだっけ?

編集 削除
igy  2006-06-16 22:07:37  No: 22212  IP: 192.*.*.*

あと、
・General Update 7.1 (Japanese)をあてる
・プロジェクトを再構築
・*.dot, *.dsk(一応バックアップをとっておいて)削除
とか、どうでしょう?

編集 削除
igy  2006-06-16 22:16:55  No: 22213  IP: 192.*.*.*

訂正です。
×・*.dot, *.dsk(一応バックアップをとっておいて)削除
○・*.dof, *.dsk, *.cfg(一応バックアップをとっておいて)削除

編集 削除
 2006-06-17 00:40:58  No: 22214  IP: 192.*.*.*

皆さん  色々有難う御座います。解決できないので別のProject(内容的にはほとんど変りません。)で試したところ これまでのエラーは出なくなりましたが  以下のエラーが出ます。

「プロジェクトproject1.exeがEInOutErrorクラスの例外を発生しました。
'ファイルが見つかりません'・・・・」

procedure TForm1.DriveComboBox1Change(Sender: TObject);

  begin

        DirectoryListBox1.Drive := DriveComboBox1.Drive;
        FileListBox1.Drive:= DriveComboBox1.Drive;
       // DirectoryListBox1.Directory:=DirectoryListBox1.Drive;
       // FileListBox1.Directory := DirectoryListBox1.Directory;
       // Edit1.Text :=''; //エディットボックス初期化
       // ColorDialog1.Color:=clBlack;
       // Edit1.Font.Color:=clBlack;
       // LPFontColor:=0;  // カラーダイヤログ初期化
  end;

  このプロシージャで//の行を一行でも生かすと「」のエーが出ます。ファイルは有る筈なんですが  すみません!宜しく

編集 削除
igy  2006-06-17 05:39:14  No: 22215  IP: 192.*.*.*

>       DirectoryListBox1.Drive := DriveComboBox1.Drive;
>        FileListBox1.Drive:= DriveComboBox1.Drive;
>       // DirectoryListBox1.Directory:=DirectoryListBox1.Drive;
>       // FileListBox1.Directory := DirectoryListBox1.Directory;

DriveComboBox1の DirListプロパティ に DirectoryListBox1を、
DirectoryListBox1の FileList プロパティ に FileListBox1 を 割り当てれば
この4行は不要では?

編集 削除
 2006-06-17 09:18:25  No: 22216  IP: 192.*.*.*

igy さんの  ご指摘で

「プロジェクトproject1.exeがEInOutErrorクラスの例外を発生しました。
'ファイルが見つかりません'・・・・」

のエラーは出なくなり一応働くようになりました。

皆さん  色々有難う御座いました。

編集 削除