喫茶XRAYトップページ

[スレッド全体
]

[3018] 漠然とした質問ですいません! 返信 削除
2010/2/4 (木) 15:26:50 KSCHomePage
KSCです。

先月、PC壊れてDelphiによる開発環境を再構成したのですが、
私では、理解できないエラーが発生したので質問させて頂きます。

エラー内容は、添付した画像のような「DCCエラー」です。

ExtActnsは異なるバージョンActiveX.PFormatEtcによりコンパイルされています。

とありますが、
確かに「Upd_RirekiDisp.pas」は、Delphi5の頃から作成した
「アップデートチェック」コンポーネント用に表示画面ソースです。

それをDelphi2007でコンパイルしようとしている事がいけないのでしょうか?

「ExtActnsは異なるバージョンActiveX.PFormatEtcにより...」とは、
どういう状態なのでしょうか?

情報量の少ない質問ですいません。

自分の理解の範疇を超えているので、どう質問してよいかも ... !

アドバイスして頂けると助かります。

宜しくお願い致します。

[3020] 【追加情報】漠然とした質問ですいません! 返信 削除
2010/2/4 (木) 16:39:20 KSCHomePage
KSCです。

【追加情報】
プロジェクトの再構築を実行するとエラー発生せずに実行できるプロジェクトも
あります。(エラー発生するプロジェクトもあります。)


【F2051】について
http://docs.embarcadero.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/JA/html/devcommon/cm_version_conflict_xml.html

解説ページを見つけましたが、意味が良く分かりません。

[3034] Re:【追加情報】漠然とした質問ですいません! 返信 削除
2010/2/6 (土) 13:51:57 KSCHomePage
どうも、KSCです。

色々と整理しながら、試しているのですが、いまだ解決しております。

そこで質問です。

ソース冒頭の宣言部分で「ComCtrls」を宣言している行で必ず「F2051」の
エラーとなります。

「ComCtrls」は、Delphi標準のものだと思うのですがDelphiの標準コンポーネントって、
再コンパイル出来るんですか?


[3038] Re2:【追加情報】漠然とした質問ですいません! 返信 削除
2010/2/7 (日) 18:33:47 Mr.XRAY
▼ KSCさん

> ソース冒頭の宣言部分で「ComCtrls」を宣言している行で必ず「F2051」の
> エラーとなります。


F2015はライブラリパス関係ですね.
どこかに同名のファイル名,またはクラス名の定義がある.
(パスの通った場所にという意味です)
あるいは通っていない.
通っていても,使用するdcu(コンパイル済みファイル)が別のバージョン
で作成された場合等です.

本当は,Delphiが最初からあるクラス名とか,だれでも付けそうな
名前は使用しない方がいいのですが,どうしてもダブル場合があります.
また,Delphiと同名のファイルやクラス名を置き換えて使用するような
ことをしているコンポーネントもあるようです.

例えば TButtonExとかね.
私は先頭に,ファイル(コンポーネント名)もクラス名も必ずplを付けて
重複しないようにしています.
パスの確認とというのも結構面倒ですが,がんばってください.

例のDEKOさんのIndyのインストール方法の説明も,このことを避ける
ための手順だと思います.


> 「ComCtrls」は、Delphi標準のものだと思うのですがDelphiの標準コンポーネントって、
> 再コンパイル出来るんですか?


該当コンポーネント(コントロール)のpasファイルにパスを通せば
可能です.でもあまりお勧めしません.
しても,dcuファイルの方にパスを通し直していた方がいいと思います.



[3040] Re3:【追加情報】漠然とした質問ですいません! 返信 削除
2010/2/7 (日) 21:22:34 KSCHomePage
こんばんは、KSCです。

> F2015はライブラリパス関係ですね.
> どこかに同名のファイル名,またはクラス名の定義がある.
> ・
> ・
> ・
> パスの確認とというのも結構面倒ですが,がんばってください.


今晩一晩がんばってみます。

で、ダメならシマンテックのバックアップソフトでバックアップした
おかしくなる前にバックアップしたファイルからリストアしようかと
思っています。

[3053] 今のところは何とか...!?返信 削除
2010/2/9 (火) 17:48:31 KSCHomePage
KSCです。

バックアップソフトで保存したバックアップファイルからリストアしました。
で、今のところ全プロジェクトがコンパイル可能になりました。

本来は、「F2015」エラーに対して解決法を見出したかったのですが...。

で、「今更、こんな質問って!」と笑われるかもしれませんが、あえて
皆さんがどのように整理・管理しているのか知りたいので質問します。

自作・他作のコンポーネントはDelphiにインストールされる際、
どのようなフォルダー配置で管理されていますか?

特に複数のDelphiバージョン用の共通コンポなどどのようなパスの通し方を
されていますか?

[#3038]より
> 該当コンポーネント(コントロール)のpasファイルにパスを通せば
> 可能です.でもあまりお勧めしません.
> しても,dcuファイルの方にパスを通し直していた方がいいと思います.


やはり各バージョンのDelphi用にコンパイルした際の「dcu」に対して
管理するようにした方が良いのでしょうか?

皆さんはどのように管理されていますか?



[3054] Re:今のところは何とか...!?返信 削除
2010/2/9 (火) 18:22:00 Mr.XRAY
▼ KSCさん

> 皆さんはどのように管理されていますか?

このあたりは興味あるところですよね.
また後で.あっ,記事にしようかな.

> やはり各バージョンのDelphi用にコンパイルした際の「dcu」に対して
> 管理するようにした方が良いのでしょうか?


いや,これはDelphiに標準で組み込まれているものはそうした方がいいと
思っています.
他の方が提供されているコンポとか,自分のコンポや共用のユニット等は
pasファイルを全てのDelphiで共通に使用する場所(ディレクトリ)に入れて
います.
そうすれば,再構築で,dcuも新しくなりますから.
ということ,原則的にソースファイルのないコンポは利用しないという方針
です.例外もありますが.

また後でカキコします.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82