1999年に作成したDelphiのプログラムをWindowsXPで起動させると起動時に以下のようなメッセージが表示されました。
クラス TTabControlEx が見つかりません。エラーを無視し
て読み込みを続けますか?(このエラーを無視した場合、
コンポーネントやプロパティの値を失う場合があります)
おそらく作成した年号から推測してWin98の1stエディションで作成されたものだと思われますが、WindowsXPで起動する際にエラーメッセージが表示されないようにするにはどうすればよいのでしょうか?
Delphiのバージョンは3.1です。
また、プログラムの先頭部分を以下に示します。
unit MainForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, StdCtrls,
Buttons, ToolWin, ComCtrls, Menus, ExtCtrls, CtrlsEx, KbtApl, Dialogs,
FileCom;
type
TFMain = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
ToolBar1: TToolBar;
Btn_Close: TSpeedButton;
Btn_Back: TSpeedButton;
Btn_Min: TSpeedButton;
Btn_Config: TSpeedButton;
Btn_About: TSpeedButton;
PopupMenu1: TPopupMenu;
Set_AplCfg: TMenuItem;
TabCtrl: TTabControlEx;
TabPanel: TPanel;
AplBtn1: TBitBtn;
AplBtn2: TBitBtn;
AplBtn3: TBitBtn;
AplBtn4: TBitBtn;
AplBtn5: TBitBtn;
AplBtn6: TBitBtn;
AplBtn7: TBitBtn;
AplBtn8: TBitBtn;
AplBtn9: TBitBtn;
AplBtn10: TBitBtn;
AplBtn11: TBitBtn;
AplBtn12: TBitBtn;
AplBtn13: TBitBtn;
AplBtn14: TBitBtn;
AplBtn15: TBitBtn;
AplBtn16: TBitBtn;
AplBtn17: TBitBtn;
AplBtn18: TBitBtn;
AplBtn19: TBitBtn;
AplBtn20: TBitBtn;
N4: TMenuItem;
MI_Move: TMenuItem;
MI_Set: TMenuItem;
Esc_Move: TMenuItem;
S1: TMenuItem;
N5: TMenuItem;
L1: TMenuItem;
Exit1: TMenuItem;
AplBtn21: TBitBtn;
AplBtn22: TBitBtn;
AplBtn23: TBitBtn;
AplBtn24: TBitBtn;
AplBtn25: TBitBtn;
AplBtn26: TBitBtn;
AplBtn27: TBitBtn;
AplBtn28: TBitBtn;
MI_Copy: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure Btn_CloseClick(Sender: TObject);
procedure Btn_BackClick(Sender: TObject);
procedure Btn_MinClick(Sender: TObject);
procedure Btn_AboutClick(Sender: TObject);
procedure Set_AplCfgClick(Sender: TObject);
procedure AplBtnMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure AplBtnKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure TabCtrlChange(Sender: TObject);
procedure TabCtrlDrawTab(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
procedure AplBtnClick(Sender: TObject);
procedure MI_OplClick(Sender: TObject);
procedure MI_SetClick(Sender: TObject);
procedure Btn_ConfigClick(Sender: TObject);
procedure Esc_MoveClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private 宣言 }
public
{ Public 宣言 }
ClassDir : String;
FactoryDir : String;
PrgDir : String;
OplMode : Integer;
function TabSeting:Boolean;
end;
使用しているコンポーネントはインストールしているのですか?
自作か拾いモノか、わからんのだけど、CtrlsEx, KbtApl, FileCom
あたりは、存在していてインストール済みかい?
>使用しているコンポーネントはインストールしているのですか?
ごめんなさい、使用可能なコンポーネントを調べましたらTTabControlEx のコンポーネントはインストールされていませんでした。
delphi3.1をインストールする際に完全インストールを選んだのですがコンポーネントのインストールは別の場所からダウンロードするものなのでしょうか?
それとも自分で作成するものなのでしょうか?
回答をよろしくお願いします。
TTabControlEx 等は、どなたかが作製したコンポーネントですから、探してインストールしなければいけません。
多分、ExtCtrls, CtrlsEx, KbtAplのいずれかに入っているのでしょう。
ExtCtrlsはVCL標準なんじゃ・・・
>ExtCtrlsはVCL標準なんじゃ・・・
すみません、コンポーネントを調べてみたのですがExtCtrls, CtrlsEx, KbtAplの場所や機能がよく分からないです・・・
ホームページやDelphiに関する書籍を見て調べているのですが詳しいことは分からなかったものでして・・・
以前に開発した方に聞くか、インターネットなどで調べるかでしょうね。
C:\Program Files\Borland\Delphi 3\SOURCE\VCL
の中に「EXTCTRLS.PAS」を確認することが出来ました。
また、以前開発していた方のフォルダを確認すると「CtrlsEx.pas」と「KbtApl.pas」を確認することが出来ました。
これらのpasファイルをプログラムに読み込ませるようにするにはどこを設定すればよいのでしょうか?
・・・それとも読み込ませるのはpasファイルではないとか・・・もしそうでしたらどの形式のファイルを読み込ませたらよいのか教えてください。
コンポーネント
インストール
パッケージ
ヘルプ読む
返答が遅れて申し訳ございません。
小魚さんのヒントを元に、以前開発していた方のフォルダからdplファイルを検索してインストールを行ったところ「TTabControlEx」を表示させることが出来ました。
しかし、ただ検索したパッケージ(dplファイル)をインストールしただけなので目的のクラスが存在するパッケージを確実に見つける方法がわかりません。
やはりパッケージをインストールしないと中のクラスは分からないのでしょうか?
パッケージのソースファイルがあるんだからそこを見たら・・・
>パッケージのソースファイルがあるんだからそこを見たら・・・
それはソースファイルを直接開いて確認するということなのでしょうか?
Delphi6では、
ツール→環境オプション→ライブラリ→ライブラリパス
で指定します。
Delphi3は知りません。そんな設定が無いですか?
Helpを読みましょう。
ツイート | ![]() |