カスタムコンポーネントについて

解決


ごん  2019-02-02 20:47:40  No: 49663

初めまして、超初心者のごんと申します。
Win7 + Delphi10.3Rio です。

ネットでダウンロードした「NumEdit」というコンポーネントを使わせていただこうとインストールしました。
無事、インストールされFormに貼り付けプロパティを変更、正常に表示されます。
しかし、いざ実行をするとエラーになり実行できません。

何をどうすれば良いのか、サッパリわかりません。
宜しくご教授お願いいたします。


通りすがり  2019-02-03 00:51:21  No: 49664

どこにあるコンポーネントなのかとかどんなエラーなのかとかをちゃんと書かないと
サッパリわかりません。

エラーダイアログで[Ctrl]+Cとするとエラーメッセージがクリップボードにコピーされます。


AAA  2019-02-03 02:31:35  No: 49665

インストールした場所にパスが通ってなくて
コンパイルできない?


ごん  2019-02-03 09:21:14  No: 49666

お世話になります。
説明不足で失礼いたしました。

コンポーネントは、C:\Program Files\Embarcadero\CustomComponent\NumEdit  に置いています。

実行すると下記のようなメッセージが表示されます。

プロジェクトの依存関係を確認中...
brcc32 の "Project1.vrc" コマンド ライン
  c:\program files\embarcadero\studio\20.0\bin\cgrc.exe -c65001 Project1.vrc -foProject1.res 
dcc32 の "Project1.dpr" コマンド ライン
  c:\program files\embarcadero\studio\20.0\bin\dcc32.exe -$O- -$W+ --no-config -M -Q -TX.exe -AGenerics.Collections=System.Generics.Collections;
  Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG 
  -E.\Win32\Debug -I"c:\program files\embarcadero\studio\20.0\lib\Win32\debug\JA";"c:\program files\embarcadero\studio\20.0\lib\Win32\debug";
  "c:\program files\embarcadero\studio\20.0\lib\Win32\release\JA";"c:\program files\embarcadero\studio\20.0\lib\Win32\release";
  C:\Users\Yoshio\Documents\Embarcadero\Studio\20.0\Imports;"c:\program files\embarcadero\studio\20.0\Imports";
  C:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp;"c:\program files\embarcadero\studio\20.0\include" 
  -LEC:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl -LNC:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp -NU.\Win32\Debug -NSWinapi;
  System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell; 
  -O"c:\program files\embarcadero\studio\20.0\lib\Win32\release";C:\Users\Yoshio\Documents\Embarcadero\Studio\20.0\Imports;"c:\program 
  files\embarcadero\studio\20.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp;"c:\program files\embarcadero\studio\20.0\include" 
  -R"c:\program files\embarcadero\studio\20.0\lib\Win32\release\JA";"c:\program files\embarcadero\studio\20.0\lib\Win32\release";
  C:\Users\Yoshio\Documents\Embarcadero\Studio\20.0\Imports;"c:\program files\embarcadero\studio\20.0\Imports";
  C:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp;"c:\program files\embarcadero\studio\20.0\include" -U"c:\program 
  files\embarcadero\studio\20.0\lib\Win32\debug\JA";"c:\program files\embarcadero\studio\20.0\lib\Win32\debug";"c:\program 
  files\embarcadero\studio\20.0\lib\Win32\release\JA";"c:\program files\embarcadero\studio\20.0\lib\Win32\release";
  C:\Users\Yoshio\Documents\Embarcadero\Studio\20.0\Imports;"c:\program files\embarcadero\studio\20.0\Imports";
  C:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp;"c:\program files\embarcadero\studio\20.0\include" -V -VN 
  -NBC:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp -NHC:\Users\Public\Documents\Embarcadero\Studio\20.0\hpp\Win32 -NO.\Win32\Debug  
  Project1.dpr   
[dcc32 致命的エラー] Unit1.pas(7): F2613 ユニット 'NumEdit' が見つかりません。
失敗

こんな説明で大丈夫ですかね?
宜しくお願いします。


通りすがり  2019-02-03 23:21:28  No: 49667

どこにある、はどこからダウンロードしてきた、の意味なんだけどまぁいいや。

エラーは実行時じゃなくコンパイル時ですね。ライブラリパスにコンポーネントを置いた場所を追加して指定すれば良さそうです。

でもコンポーネントをC:\Program Filesの下に置くのはちょっと…(UAC昇格しないと書き込めない場所なので)。
C:\Users\Public\Documents\Embarcadero\Studioの下に置くことをお勧めします。


ごん  2019-02-04 20:46:53  No: 49668

お世話になります。

通りすがりさん、ありがとうございます。

ダウンロード元は、http://cc.embarcadero.com/item/19451  です。
大変失礼しました。

コンポーネントはご教授頂いたC:\Users\Public\Documents\Embarcadero\Studioの下に変更しました。
そこで、インストールしていたコンポーネントを、「コンポーネント」「パッケージのインストール」からNumEditを削除し、再度コンポーネントのインストールをしたらエラーになりコンポーネントもインストールされません。

何が間違っているのか・・・
良ければ引き続きご教授お願い致します。


コンポーネントの登録方法等  2019-02-04 22:28:53  No: 49669

コンポーネントの登録方法等
http://mrxray.on.coocan.jp/Delphi/CompoInstall/index.htm


通りすがり  2019-02-04 22:40:55  No: 49670

ずいぶんと古いコンポーネントですね…。それはともかく、エラーメッセージはなんと出ていますか?
エスパーは世の中にあまりいないので、エラーになってインストールされない、だけではあまり有効な回答を得ることはできないと思います。

ちなみに現在のDelphiではTEditに

Vcl.StdCtrls.TEdit.NumbersOnly - RAD Studio API Documentation
http://docwiki.embarcadero.com/Libraries/Rio/ja/Vcl.StdCtrls.TEdit.NumbersOnly

というプロパティがありますし、かなり昔から標準でTMaskEdit

Vcl.Mask.TMaskEdit - RAD Studio API Documentation
http://docwiki.embarcadero.com/Libraries/Rio/ja/Vcl.Mask.TMaskEdit

のようなコンポーネントもあります。こういうのを使うのはいかがですか?


ごん  2019-02-05 19:11:27  No: 49671

お世話になります。

コンポーネントの登録方法等さん、ありがとうございます。
勉強させて頂きます。

通りすがりさん、度々ありがとうございます。
数字入力のみのプロパティがあるんですね。
これを使わせていただきます。

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


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








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