我想請教關於自製的元件安裝不進去的問題 |
答題得分者是:daldal
|
GGump
一般會員 發表:2 回覆:16 積分:8 註冊:2006-08-04 發送簡訊給我 |
我想請教的問題是:我在使用Borland C++ Builder 6.0安裝我自訂的元件時,在Package - dclusr.bpk底下真的可以看得到Contains中有包含我做的元件,我有確實地先Build再Install。
雖 然之前曾經成功過,但是現在只會顯示我指定的Package裝進去了,也就是會顯示"Package C:\……\dclusr60.bpl has been installed.",而並不會顯示完整的"The following new component(s) have been registered: Txxxxxx、Tyyyyyy……"。 所以在安裝進的Package列表中有我指定的,但是該Package底下是空的沒有包含任何元件,即Projects->Options…->Packages中,Borland User Components前的核取盒是有勾的,但是對該項按了Components,Installed components的內容是空的。 另外在登錄編輯程式(regedit.exe)中:我的電腦\HKEY_CURRENT_USER\Software\Borland\C Builder\6.0\Palette中的My Components資料值是空的。 請問像這種情形應該要如何解決呢? |
daldal
高階會員 發表:6 回覆:102 積分:226 註冊:2007-06-18 發送簡訊給我 |
1.當元件不存在於元件盤中,才會出現顯示完整的"The following new component(s) have been registered: Txxxxxx、Tyyyyyy……"。
2.若是只修改元件,重新Complier Install只會出現顯示"Package C:\……\dclusr60.bpl has been installed." 3.沒有出現在元件盤的問題,請檢查一下namespace有沒有錯誤, 例如:namespace Txxxxxxx (第一個字母大寫,後面小寫,不然安裝成功也不會顯示在元件盤中) RegisterComponents("xxxxx", classes, 0); (xxxxx是不是有指定到你的類別中,會不會裝到別的類別裡沒發現到?) |
RootKit
資深會員 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
|
GGump
一般會員 發表:2 回覆:16 積分:8 註冊:2006-08-04 發送簡訊給我 |
其實我有提到,曾經成功過,所以我不認為程式碼的部分有問題
TColoButton.cpp如下: [code cpp] static inline void ValidCtrCheck(TColorButton *) { new TColorButton(NULL); } //--------------------------------------------------------------------------- __fastcall TColorButton::TColorButton(TComponent* Owner) : TButton(Owner), FFocusColor(clWindowFrame), FShadowColor(clBtnShadow), FLightColor(clBtnHighlight), FCanvas(new TCanvas()),Fdraw_as_default(false) { } //--------------------------------------------------------------------------- …… //--------------------------------------------------------------------------- namespace Colorbutton { void __fastcall PACKAGE Register() { TComponentClass classes[1] = {__classid (TColorButton)}; RegisterComponents("My Components", classes, 0); } } //--------------------------------------------------------------------------- [/code] TTextTimer.cpp如下 [code cpp] static inline void ValidCtrCheck(TTextTimer *) { new TTextTimer(NULL); } //--------------------------------------------------------------------------- __fastcall TTextTimer::TTextTimer(TComponent* Owner) : TStaticText(Owner), FTimeUnit(tuSecond), FInterval(1), FStartTime(0), FStopTime(0), FCountDirection(cdForward) { FOnTimeUp = TimeUp; Timer_Unit = new TTimer(this); Timer_Unit->OnTimer = Timer_UnitTimer; _Time = 0; _UpdateCaption(); Alignment = taCenter; AutoSize = false; BorderStyle = sbsSingle; } //--------------------------------------------------------------------------- …… //--------------------------------------------------------------------------- namespace TextTimer { void __fastcall PACKAGE Register() { TComponentClass classes[1] = {__classid (TTextTimer)}; RegisterComponents("My Components", classes, 0); } } //--------------------------------------------------------------------------- [/code]
編輯記錄
GGump 重新編輯於 2008-04-30 23:19:07, 註解 無‧
|
GGump
一般會員 發表:2 回覆:16 積分:8 註冊:2006-08-04 發送簡訊給我 |
|
daldal
高階會員 發表:6 回覆:102 積分:226 註冊:2007-06-18 發送簡訊給我 |
|
GGump
一般會員 發表:2 回覆:16 積分:8 註冊:2006-08-04 發送簡訊給我 |
|
GGump
一般會員 發表:2 回覆:16 積分:8 註冊:2006-08-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |