喫茶XRAYトップページ

[▲前のスレッド]

[738] コンポーネントの新規登録でエラーが出ます返信 削除
2006/4/17 (月) 16:26:49 taki
初めて投稿します。よろしくお願いします。

プリンタ設定コンポーネントplSetPrinter.lzh Ver 6.06を
インストールしようとすると、コンポーネントの新規登録の段階で
「モジュールdclusrでエラーが発生しました。
 コンパイラ指令に間違いがあります。」
というエラーが出ます。

以下に私がやった操作手順を書きます。

「コンポーネントのインストール方法(Delphi2005)」の
説明に従って、

1.Win32アプリ開発状態にする -> できた

2.登録用のパッケージをインストール -> たぶんできた
[コンポーネント][パッケージのインストール]で
「設計時のパッケージ」の一覧の中に[Borland user Components]が
あります。

3.コンポーネントの新規登録 -> ここで問題発生

図4 パッケージを開いて追加 の操作として、

プロジェクトマネージャのdcluse90.bplを右クリック
ポップアップメニューの「追加」をクリック
ファイル選択ダイアログでplSetPrinterReg.pasを選択
「OK」をクリックした時点で、
「アドレス00000000でアドレス00000000に対する
 読み込み違反がおきました。」
その後、
「モジュールdclusrでエラーが発生しました。
 コンパイラ指令に間違いがあります。」
のメッセージが2回でます。

その後、プロジェクトマネージャのContainsの下にplSetPrinterRegが
できますが、それをクリックすると、色々なエラーメッセージと
上記の「モジュールdclusrで・・・」のエラーメッセージが出ます。
その後はほとんどフリーズ状態に陥ります。
タスクマネージャよりタスクの終了で強制終了。

どうしたら良いでしょうか?

なお、ダウンロードしたコンポーネントのソースファイルは
C:\Program Filesに適当な名前でフォルダを作り、その中に
入れています。

環境 OS WinXP Pro SP2
     Delphi2005 Pro アップデートは3まで済んでいます

よろしくお願いします。


[739] Re:コンポーネントの新規登録でエラーが出ます返信 削除
2006/4/17 (月) 20:53:52 Mr.XRAY
▼ takiさん こんにちは.
拙作コンポのDLありがとうございます.

さて,お尋ねの件ですが.インストールの説明ページを参考にして
登録したようですので,う〜む...

(1) その開発環境に,プリンタドライバはインストールされているか.
    何といっても「プリンタ設定...」ですので,原則プリンタ(ドライバ)
    がインストールされていない場合は,動作の保証できません.

(2) 登録先のパッケージのRequiresにdesignide.dcpがあるか確認.
    通常dclusr.dpkをインストールすると自動で登録されるものであるが,
    自分でパッケージを作成した場合は,手動で追加する必要がある.
    (通常は,追加確認のメッセージが表示されると記憶しているのだが...)

(3) TplSetPrinterを登録先のプロジェクト(パッケージ)から削除して,
    コンポ関係のパスを確認後,再度そのパッケージに登録(インストール)
    (D2005の場合,自動でパスが追加されるハズなのであるが...)

などで確認してみて下さい.

>「アドレス00000000でアドレス00000000に対する
このエラーは必要な領域や変数などがない場合に発生することがあります.
また,必要なファイルがない時にも発生します.
つまり,アドレスの解決ができない.


[740] Re2:コンポーネントの新規登録でエラーが出ます返信 削除
2006/4/17 (月) 23:23:03 taki
▼ Mr.XRAYさん

早速の返信ありがとうございます。

> >「アドレス00000000でアドレス00000000に対する
> このエラーは必要な領域や変数などがない場合に発生することがあります.
> また,必要なファイルがない時にも発生します.


そこで、
C:\Program Files\Borland\BDS\3.0\lib へ
plSetPrinter.pas
plSetPrinterReg.pas
plSetPrinterReg.dcr
の3ファイルをコピーして[追加]したらうまくいきました。
[コンパイル]もできて、コンポーネントも確認できました。

ところで、
> (D2005の場合,自動でパスが追加されるハズなのであるが...)

ですが、
「追加」のダイアログボックスの検索パスの中を調べると、
c:\program files\delphi2005\追加コンポ\プリンタ制御$(BDS)\lib;
になっていました。
「c:\program files\delphi2005\追加コンポ\プリンタ制御」フォルダに
コンポーネントのソースファイルが入っていたのですが。
「$(BDS)\lib」が何故か付加されてファイルが見つからない状態
だったようです。

みなさんは何処にコンポーネントのソースファイルを置かれて
いるのでしょうか?

今回、必要なファイルがない時にもアドレス00000000のエラーが
発生することを勉強させていただきました。
ありがとうございました。


[741] Re3:コンポーネントの新規登録でエラーが出ます返信 削除
2006/4/18 (火) 00:17:03 Mr.XRAY
▼ takiさん

> の3ファイルをコピーして[追加]したらうまくいきました。
> [コンパイル]もできて、コンポーネントも確認できました。

よかったです.ほっとしました(本音です).

> みなさんは何処にコンポーネントのソースファイルを置かれて
> いるのでしょうか?

マスターの場合,自作と他の方のと別のフォルダにして,そこに
コンポ類のファイルは全て入れています.また,念のため,DLした
ファイルは,別にとってあります.
(Program Files内ではなく,C:\直下に作成しています)

> 今回、必要なファイルがない時にもアドレス00000000のエラーが
> 発生することを勉強させていただきました。

これは,今回のようのケース(どういうケースというのがすぐには
説明しにくいのですが...)の場合です.
変数や関数などオブジェクトのポインタ(格納アドレス)が解決できない
(この解決できないというのも説明しにくい!!)場合ですね.

ファイル検索で,ファイルがない場合などとは違います.


[742] Re3:コンポーネントの新規登録でエラーが出ます返信 削除
2006/4/18 (火) 00:21:11 Mr.XRAY
▼ takiさん
あっ,今見たら,

> c:\program files\delphi2005\追加コンポ\プリンタ制御$(BDS)\lib;
D2005,D2006の場合,2バイト文字が入っていると,コンポ登録の際,
基本的に自動認識はしてくれません.つまり,ダメです.

今のうちに,フォルダ名を変更しておいた方が無難でしょう.
後でトラブルの原因となる可能性があります.
2バイト文字の扱いについては,どこかに記述があるはずですが,
失念しました.(Borandのサイトかな?)


[743] Re4:コンポーネントの新規登録でエラーが出ます返信 削除
2006/4/18 (火) 10:31:43 taki
▼ Mr.XRAYさん

> D2005,D2006の場合,2バイト文字が入っていると,コンポ登録の際,
> 基本的に自動認識はしてくれません.つまり,ダメです.


すぐにフォルダ名を英数文字に変えます。爆弾は早く取り除きます。
アドバイス ありがとうございました。

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