2013-01-07 61 views
0

我已註冊包TMS Unicode組件包在我的Delphi 7中包含TNT組件。 此包包含一個名爲TTntCustomComboBox類,我用它來創建自己的自定義組件名爲Combobox2Delphi 7中的EFilererror異常

unit Combobox2; 

interface 

uses 
    Windows, Messages, Classes, Graphics, Controls, StdCtrls, ImgList, ActiveX, SysUtils, TntStdCtrls, TntWindows; 


type 
    TCombobox2 = class(TTntCustomComboBox) 

... 
procedure Register; 
begin 
    RegisterComponents('Standard', [TCombobox2]); 
end; 

... 

我添加這個組件(TCombobox2)到封裝dclusr.dpk。 編譯dclusr.dpk作品,但安裝包引發一個異常:

登記手續Combobox2.Register在包C:\ Program Files文件\ Delphi7的\項目\櫛Bpl \ dclusr.bpl引起的異常類EFilererror:A類名爲TTntCustomComboBox已存在

那麼,我該如何解決這個問題?

感謝您的幫助。

+1

你能展示更多代碼嗎? 「TComboBox2」的整個聲明和您的「註冊」過程。 –

+0

完成。編輯的問題。 – user382591

+0

「Combobo2.pas」單元的內容是什麼(而不是「Combobox2.pas」)? –

回答

2

錯誤消息表明您的軟件包正在嘗試註冊已註冊的組件,即TTntCustomComboBox

從你提供的細節中不明顯可以看出爲什麼會發生這種情況。一個可能的原因是如果您將TNT組件包含在您的軟件包中,而不是在您的軟件包的require條款中引用它。另一個可能的原因是如果您的Register函數試圖註冊TTntCustomComboBox。這可能發生,如果你的實際的TCombobox2宣言是像這樣:

TCombobox2 = TTntCustomComboBox; 
0

認沽{$ WEAKPACKAGEUNIT ON}後單元標題。