コンポーネントのインストールエラーの回復方法

解決


桜坂  2008-03-18 19:54:02  No: 30193

いつもご指導ありがとうございます。
Delphi7エンタープライズ版です。
ここにtsseditというフリーのコンポーネントをインストールしました。
その後、別な原因でPCが不安定になりOS(Windows2000)をクリンインストールしました。
そしてDelphi7を入れ、tsseditを入れました。しかし、ここで設定を一部間違えたと思い数回繰り返しました。
そうしたら、アンインストールするのですが、再度インストールすると「フォールまたはモジュールはすでにプロジェクトに登録されています。」というメッセージが出ました。
しかし、アプリをコンパイルすると「未定義の・・・」というエラーが出ます。
どのようにすればtsseditが使えるようにできるのでしょうか。
教えてください。


DEKO  2008-03-19 03:09:16  No: 30194

1.[コンポーネント | パッケージのインストール]
2.設計時パッケージで"Borland User Components"のチェックを外す。
3.OKボタンを押す。
4.設計時パッケージで"Borland User Components"のチェックを入れる。
5.OKボタンを押す。

或いは

1.[コンポーネント | パッケージのインストール]
2.設計時パッケージで"Borland User Components"を選択。
3.削除ボタンでパッケージを削除(事前にパッケージのパスを控えておく)。
4.OKボタンを押す。
5.一旦Delphiを終了。
6.[コンポーネント | パッケージのインストール]
7.追加ボタンでdclusr70.bplを追加。
8.OKボタンを押す。

で、どうでしょう?


桜坂  2008-03-19 05:44:07  No: 30195

DEKOさん、ありがとうございます。
呪文のように言われるように両方試しました。
しかし、(フォーム読み込み中のエラー)「クラスTSsEditが見つかりません。エラーを無視して続けますか?注意コンポーネントまたはプロパティを失う場合があります」というエラーのフォームが出ましたので、怖くなりキャンセルボタンを押しました。
そうしたら、「フォームの作成中にエラーが発生しました。クラスTSsEditが見つかりません」というエラーメッセージが出たのでOKボタンを押しました。
ダメでした。
ご指導お願いします。


KHE00221  2008-03-19 06:35:34  No: 30196

コンポーネントの追加と削除は

追加

1) dclusr.dpk を開く(libディレクトリィにあるはず)
2) 追加で ssEdit.pas を追加する  (ssEdit.dcr も追加される)
3) コンパイルすると ssEdit と TssEdit が登録される

削除

1) dclusr.dpk を開く
2) 削除で ssEdit.dcr SsEdit.pas を削除する
3) コンパイルすると ssEdit と TssEdit が削除される


桜坂  2008-03-19 07:55:27  No: 30197

KHE00221さん、ありがとうございます。
追加の1)2)3)をやってみましたが、同じく「クラスTSsEditが見つかりません。エラーを無視して続けますか?注意コンポーネントまたはプロパティを失う場合があります」というエラーのフォームが出ました。
もしかしたら、私の説明が悪いのでしょうか。
昔TSsEditで作ったアプリを改造する必要ができたのでsseditが入ったDelphiが必要なのです。
この既存のアプリを直してコンパイルすると「TSseditが見つかりません」というメッセージになります。
よろしくお願いします。


風来坊  2008-03-19 10:06:04  No: 30198

ちゃんとパス通っているのでしょうか?


桜坂  2008-03-19 12:54:48  No: 30199

風来坊さん、ありがとうございます。
Mr.XRAYさんのHPを真似てパスを通そうと思いました。
1.ツール環境オプションライブラリの右ボタンクリック
2.フォルダの参照でLibフォルダを選択(自動で、Libでした)
しかし、次ステップの追加ボタンが灰色で追加できません。
この場合、どうしたらよいのでしょう。
教えてください。


KHE00221  2008-03-19 16:27:09  No: 30200

$(DELPHI)\LIB は標準で設定されていると思いますが?

tssedit はどこにインストールしましたか?


桜坂  2008-03-20 05:33:58  No: 30201

仕事のため返事が遅れましたことお詫びします。
超初心者の為、どこにインストールということは、どこのフォルダということでしょうか。
何も意識せずMr.XRAYさんのHPを真似ましたのでdclusrというところでしょうか。
どこを見ればよいのでしょうか。
コンポーネントとパッケージの違いも恥ずかしいですが、アヤフヤです。
ご指導、よろしくお願いします。


KHE00221  2008-03-20 08:52:19  No: 30202

dclusr.dpk に追加した際に

コンポーネントが登録されました

と表示されましたか?

されない場合 dclusr.dpk が登録されていないと思います。

登録されればコンポーネントパレットに登録されているはずです

(現状では登録されていないはず)


桜坂  2008-03-20 18:13:34  No: 30203

ご指導、ありがとうございます。
ご指導ありがとうございます。もう一度次の手順で、コンポーネントのインストールをやってみました。
1.Delphiの起動>コンポーネント>コンポーネントのインストールをクリック。「コンポーネントのインストール」というフォームが出ました。
2.「既存のパッケージへ追加」というタグでユニットファイル名(u)の右「参照」ボタンをクリックしました。
3.ローカルディスク/ProgramFiles/Borland/Delphi7/Lib/ssedit.pasを指定し「開く」ボタンをクリックしました。
4.再び「コンポーネントのインストール」のフォームに戻って来ました。ユニットファイル名にはc:\ProgramFiles\Borland\Delphi7\Lib\ssedit.pasがあります。
5.「コンポーネントのインストール」のフォーム画面の「OK」ボタンをクリックすると
6.「フォームまたはモジュールssedit.pasはすでにプロジェクトに登録されています」というエラーメッセージ画面が出ました。
エラーなので「OK」ボタンを押しました。
ここでDelphiのメインフォーム一番上のタイtルバーを見ると「Delphi7-dclusr」となっています。
これは「dclusrに登録されている」という意味に理解しました。Delphiを閉じました。
ここで実際の直したいソースがある場所(Fドライブ)のax.dpkをダブルクリック。
するとDelphiが起動し、フォームが出現します。
ここで試しにコンパイルボタンを押すと「エラー  未定義の識別子'TSsEdit'」となります。
よろしくお願いします。


みえない  2008-03-21 00:36:08  No: 30204

>6.「フォームまたはモジュールssedit.pasはすでにプロジェクトに登録されています」というエラー...
Delphiのコンポパレットの'Suda'ページには、[TSsEdit]があるの?

>ここで実際の直したいソースがある場所(Fドライブ)のax.dpkをダブルクリック。
ax.dpk? ax.dprの間違い?

>ここで試しにコンパイルボタンを押すと「エラー  未定義の識別子'TSsEdit'」となり...
そのプロジェクトのフォーム上には、[SsEdit]が貼りついてるの?


桜坂  2008-03-21 02:57:03  No: 30205

ご指導、ありがとうございます。
次の手順で、Sudaページを確認しました。
1.Delphiの起動>コンポーネント>コンポーネントのパレットの設定をクリック。
「パレットの設定」というフォームが出ました。
左のページのSudaをクリックで反転させると右のコンポーネントに「名前:TSsEdit」「パッケージ:dclusr70」となっています。
2.すみません。ax.dprの間違いでした。
3.このax.dprをクリックするとDelphiの上の方にある「Standard」や「BDE」のタブがある場所には「Suda」のタブもあり、コンポーネントもあります。SsEditを貼り付けると普通のEditのような四角い枠があります。ここに数字項目を入れると簡単に3桁ごとにカンマが入る予定です。古いアプリは入っています。
よろしくお願いします。


igy  2008-03-21 05:49:40  No: 30206

新規のプロジェクトのフォーム上に[SsEdit]が貼りつけた場合は、コンパイルして
(エラーが出ずに)実行できるのですか?


桜坂  2008-03-21 07:45:10  No: 30207

ご指導、ありがとうございます。
ご指導の通り
Delphi7起動>Sudaタブを指定しSudaコンポーネントを新しいフォームに貼り付けました。>コンパイル>未定義の識別子'TSsEdit'というエラーが出ます。
よろしくお願いします。


igy  2008-03-21 08:12:23  No: 30208

KHE00221 さんが書かれているように、

(1)コンポーネントの削除

>削除
>
>1) dclusr.dpk を開く
>2) 削除で ssEdit.dcr SsEdit.pas を削除する
>3) コンパイルすると ssEdit と TssEdit が削除される

を行う。

(2)コンポーネントの追加

>追加
>
>1) dclusr.dpk を開く(libディレクトリィにあるはず)
>2) 追加で ssEdit.pas を追加する  (ssEdit.dcr も追加される)
>3) コンパイルすると ssEdit と TssEdit が登録される

を行う。

「フォームまたはモジュールssedit.pasはすでにプロジェクトに登録されています」というエラーメッセージ画面
がでなれば、↓の(3)を。

(3)新規のプロジェクトで確認

先ほど書いたように新規のプロジェクトでSsEditを貼りつけ、
コンパイルできるか確認。

(1)〜(3)でエラーがでる場合は、
私だったらあきらめて、Delphiの再インストール(場合によってはOSのクリーンインストール)をしてみますね。


KHE00221  2008-03-21 09:00:42  No: 30209

、「フォームの作成中にエラーが発生しました。クラスTSsEditが見つかりません」

のエラーはコンポーネントが登録されていない時にでるメッセージで

未定義の識別子'TSsEdit'というエラーが出ます。

はコンポーネントは登録されているけどパスが通ってない場合にでるメッセージ

Delphi7起動>Sudaタブを指定しSudaコンポーネントを新しいフォームに貼り付けました。>コンパイル>未定義の識別子'TSsEdit'というエラーが出ます。

といことは ssEdit.pas をインストールした場所に  DELPHI7\LIB ? にパスが通ってないと思うんだけど?


桜坂  2008-03-21 09:30:44  No: 30210

皆さん、遅くまでありがとうございました。エラーが出なくなりました。
意を決して再度、Delphi7をクリーンインストールしました。
実は、再度と申し上げたのは前にDelphi7のクリーンインストールを行ってみましたがダメでした。今回のクリーンインストールで違う点は次の点です。
1.コントロールパネルでアプリの追加削除を行ってもC:\ProgramFilesの中にBorland\Delphi7\Libが残っており、その中にSsEdit.pasがあったのでSsEdit.pasのみ手動で削除しました。
2.Delphi7>別な場所に保存していたSsEditコンポーネントのインストール>コンパイル>>を行いました。
そうしましたら、古いアプリもエラー無くコンパイルされました。
皆さん、ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加