喫茶XRAYトップページ

[▲前のスレッド]

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

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

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

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

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

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

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

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

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

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

宜しくお願い致します。

[3019] Re:漠然とした質問ですいません! 返信 削除
2010/2/4 (木) 16:22:19 TS
▼ KSCさん

的外れかもしれませんが、インストールしようとするPasファイル
の関係するPas,Res,dpr,dfm以外の拡張子のファイルを削除してから
コンポーネントをインストールしてみてはいかがですか。


[3024] Re2:漠然とした質問ですいません! 返信 削除
2010/2/4 (木) 21:55:30 Mr.XRAY
▼ TSさん,KSCさん

> 的外れかもしれませんが、インストールしようとするPasファイル
> の関係するPas,Res,dpr,dfm以外の拡張子のファイルを削除してから
> コンポーネントをインストールしてみてはいかがですか。


これじゃないかと思いますね.
どこかに残骸があるのかも知れません.


[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

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

[3021] Re:【追加情報】漠然とした質問ですいません! 返信 削除
2010/2/4 (木) 17:21:09 TS
▼ KSCさん
> 解説ページを見つけましたが、意味が良く分かりません。
上に書いた事とこの解説ページの内容は同じだと思います。

要約すると以前のバージョンでコンパイルした時作成された
各種ファイルが今回のバージョンのコンパイルした物と
ごちゃごちゃになったのでもう一度綺麗な状態で
Pasファイルがあるなら再コンパイルして下さいと言う
事だと思います。

よけい分からない事を書いてる気もしますが。

[3022] Re2:【追加情報】漠然とした質問ですいません! 返信 削除
2010/2/4 (木) 17:54:01 KSCHomePage
TSさん、こんばんは。
KSCです。

> ごちゃごちゃになったのでもう一度綺麗な状態で
> Pasファイルがあるなら再コンパイルして下さいと言う
> 事だと思います。


何となく理解できます。
1つ1つコンポーネントを再コンパイルしてみます。

[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ファイルの方にパスを通し直していた方がいいと思います.



[3039] Re3:【追加情報】漠然とした質問ですいません! 返信 削除
2010/2/7 (日) 18:37:48 Mr.XRAY
> F2015はライブラリパス関係ですね.

JEDIプロジェクトは確かに便利なのですが,アンインストールすると
この現象が発生することがあります(経験済み)

その時は,DEKOさんのIndyインストールの記事を思い出して修正しました.
どうしてもダメな時は,もちろんDephiの再インストールですね.
この時,当然ですが,Program Filesと,パッケージ関係のディレクトリ
(userフォルダでしたっけ?)も削除する必要があります.


[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も新しくなりますから.
ということ,原則的にソースファイルのないコンポは利用しないという方針
です.例外もありますが.

また後でカキコします.


[3055] ファイルの整理方法とか返信 削除
2010/2/9 (火) 18:35:52 Mr.XRAY
▼ KSCさん

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

釈迦に説法かも知れませんが,
パッケージをデフォルトでインストールすると,例えば添付の図のような
場所にBpl(コンパイル済みパッケージ)が入ります.
これも削除する必要があります(Dcp内のも)
これを避けるにはDEKOさんのIndyのインストールの記事にあるように,
インストール時に,パスを設定する必要があります.

図で「共有ドキュメント」になっていますが,これは小生の場合です.
これは,Delphiのインストールの時に「他のユーザも使用する」で
インストールしているためです.
なぜかというと,通常はAdminで開発していますが,コンポ等のテストで,
Adminでないユーザの場合にどうなるかを調べるためです.


[3056] ファイルの整理方法とか返信 削除
2010/2/9 (火) 21:21:56 Mr.XRAY
▼ KSCさん

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

手の内を見せるようで,恥ずかしいやら,醜態をさらけ出すような.
でも使紹介しちゃいます.
図は,C,Dと2つあるドライブのDの構成です(1部).


[DelphiOls]

ダンロードした内,Delphi関係のファイル.
名前とか種類とか,その時に応じてフォルダ名を付けて,
その中に保存
検索を考慮して,ほとんど解凍

[MyWWW]

ローカルサーバ(IISではない)のルートフォルダ
フォルダ構成はレンタルサーバの構成と合わせている
その他,自作の旧コンポ類を格納するフォルダあり

[Online]
ダウンロードしたDelphi以外のファイル
Onlineアプリとか,Windows関係
 
[XRAY]

Delphiのコンポ類で自分以外の作品.pasとdcuその他がある
現在680程度.Delphi全バージョン共用.
ここにDelphiのパスが通っている
つまり古いバージョンのコンポは常に上書きとなる
ただし古いバージョンがDelphiOlsのフォルダに残っている場合あり
パッケージで提供されているコンポ類は,この下にフォルダを作成している

[XRAYpl]

自作コンポのソースとdcuとdcrファイル(プリフィックスがplのもの)
現在160ぐらい.Delphi全バージョン共用.ここにもパスが通っている
 
[自作コンポ]

自作コンポのコンポ別のテスト用フォルダ
問い合わせや質問関係もフォルダを作成してその中に
サンプルプログラム集も89と90でここに

[自作コンポ以外のテストやヒント]

ちょっとしたテストや,掲示板へのレス用に書いたプロジェクトは,
項目ごとにフォルダに分けて保存
フォルダ名はわかりやすいように長い名前を付けている
サンプルプログラム集に掲載したら原則削除
掲示板でレスしても原則削除(してもかまわないように,レスのコードに
コメントを多く書いておく.
当然,現在かなりの数のフォルダがある
このフォルダの中身は,nanatreeのようなもので,動作が軽いものがあれば
それで整理したい.と思っている


[3059] Re:ファイルの整理方法とか返信 削除
2010/2/10 (水) 00:59:48 KSCHomePage
KSCです。

マスターの環境を例にして、細かに説明して頂いて大変、恐縮です!

参考にさせて頂きたいと思います。
また、マスターのサイト内の「コンポーネント登録方法等」のページも
合わせて参考にさせて頂きたいと思います。

現在、私はDelphi5,7,2007で社内向けのアプリ開発をしています。
(あっ、前にも言いましたね。)

5と7で開発したアプリを2007へ少しずつですが2007へ移行しています。
移行に際して、当然、コンポの修正や再構築をする必要もあるため、
コンポのフォルダー配置を見直ししていこうと思います。

今後とも宜しくお願い致します。

と、それから[#3055]より
> 釈迦に説法かも知れませんが, ...

まだ、ちょっと前に初心者から抜け出したばかりの駆け出しです。
まだまだ、これからです!

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