如何將自製的元件安裝在指定的Palette Page?? |
答題得分者是:bestlong
|
tfanalysis
一般會員 發表:10 回覆:9 積分:3 註冊:2007-01-07 發送簡訊給我 |
我做的順序是這樣的
1.先New一個Package,假設為package.bpk 2.Add --> New Component,設定Palette Page為Standard 然後做好一個元件、安裝,都沒問題 接下來我改變主意,Palette Page想改成自訂的名稱,假設名稱是"CustomPage" 於是我改了元件.cpp裡的這一行 RegisterComponents("CustomPage", classes, 0); 可是install時它居然還是安裝在Standard這個Page....... 我少改了什麼東西嗎?? |
cheng_Chin
一般會員 發表:1 回覆:8 積分:1 註冊:2004-08-25 發送簡訊給我 |
Hi tfanalysis:我在『文魁-C++ Builder與RS232 書號:P2027』,裡看到的方法如下:
1.New Item 點選 Component 會出現對話框 裡頭就有『指定的Palette Page』,記住最後一項不可動。 2.按『OK』後再把你的程式貼在(你剛剛對話盒的路徑)程式給你的 *.CPP*.H裡。 3.你可用『Image Edit』編輯你要的圖形完成後放在一起。 4.記得一起放在 C:\Program Files\Borland\CBuilder6\Lib> 5.到Component /Install Component 去做編輯動作。 大致上是這樣。
------
阿欽 |
tfanalysis
一般會員 發表:10 回覆:9 積分:3 註冊:2007-01-07 發送簡訊給我 |
先感謝您的回覆
不過這樣是新作一個Component,且install時也只安裝這個元件 可是我要的是將Component包在一個Package裡 重點是,我第一次將它包在我要的package裡沒問題 可是想要將它改到別的Palette Page卻改不過去 而且就算新開Package,再New Component,把寫好、改好的Code貼過去 還是沒用 ===================引 用 文 章=================== Hi tfanalysis:我在『文魁-C Builder與RS232 書號:P2027』,裡看到的方法如下: 1.New Item 點選 Component 會出現對話框 裡頭就有『指定的Palette Page』,記住最後一項不可動。 2.按『OK』後再把你的程式貼在(你剛剛對話盒的路徑)程式給你的 *.CPP*.H裡。 3.你可用『Image Edit』編輯你要的圖形完成後放在一起。 4.記得一起放在 C:\Program Files\Borland\CBuilder6\Lib> 5.到Component /Install Component 去做編輯動作。 大致上是這樣。 |
bestlong
站務副站長 發表:126 回覆:734 積分:512 註冊:2002-10-19 發送簡訊給我 |
這個問題我也研究一段時間,只不過我是使用 Delphi 環境,Package 安裝後會去註冊機碼
第一次安裝的 Package 會以 RegisterComponents() 指定的名稱來決定顯示的位置 可以查看機碼 HKEY_CURRENT_USER\Software\Borland\Delphi\5.0\Palette 在 BCB 環境可以自己找一下 不過移除 Package 後並不會同步移除機碼中的資料 當你改變 RegisterComponents 指定的名稱重新安裝 Package,因為元件名稱已經存在機碼中因此元件在 Palette 的位置就會沿用前次的紀錄 所以只要你先去刪除機碼中的元件名稱,再安裝就 OK 了。 另外有個方法我是弄清楚上列狀況後想到的不過自己沒測試 就是先將元件在 Palette 的位置透過設定屬性調整到新的位置,然後移除重裝就應該會在指定的位置。
------
http://blog.bestlong.idv.tw/ http://www.bestlong.idv.tw/ http://delphi-ktop.bestlong.idv.tw/ |
tfanalysis
一般會員 發表:10 回覆:9 積分:3 註冊:2007-01-07 發送簡訊給我 |
God!!!
您真是太神了 確實如您所說的,這正是問題所在 其實我也一直懷疑應該是第一次安裝時BCB裡不曉得寫入什麼東西,而且在後來的變更中不會跟著改寫 雖然用記事本開了.bpk逐行檢查 但真的沒想到會是寫在機碼裡(現在還是搞不懂幹嘛要寫到機碼去) 另外跟您報告一件事 您提到的第二個方法 我實際測試了,確實可行 報告完畢。 我很好奇,當初你是怎麼發現問題所在的??? 真是太歷害了! ===================引 用 文 章=================== 這個問題我也研究一段時間,只不過我是使用 Delphi 環境,Package 安裝後會去註冊機碼 第一次安裝的 Package 會以 RegisterComponents() 指定的名稱來決定顯示的位置 可以查看機碼 HKEY_CURRENT_USER\Software\Borland\Delphi\5.0\Palette 在 BCB 環境可以自己找一下 不過移除 Package 後並不會同步移除機碼中的資料 當你改變 RegisterComponents 指定的名稱重新安裝 Package,因為元件名稱已經存在機碼中因此元件在 Palette 的位置就會沿用前次的紀錄 所以只要你先去刪除機碼中的元件名稱,再安裝就 OK 了。 另外有個方法我是弄清楚上列狀況後想到的不過自己沒測試 就是先將元件在 Palette 的位置透過設定屬性調整到新的位置,然後移除重裝就應該會在指定的位置。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |