全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3255
推到 Plurk!
推到 Facebook!

c++ CodeDOM parser error: Unknow type 問題

答題得分者是:aftcast
taishyang
站務副站長


發表:377
回覆:5482
積分:4546
註冊:2002-10-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-06-12 11:37:13 IP:59.127.xxx.xxx 訂閱
Dear all:
Winforms因為內建的GroupBox外框顏色無法透過屬性更改,小弟找到網路文章,修改後成功更改外框顏色
畫面可以正常顯示,但是卻造成Form設計畫面無法開啟的問題,錯誤訊息如下,程式如附件,請前輩們指導,謝謝

C CodeDOM parser error: Line: 56, Column: 20 --- Unknown type 'GroupBoxExLib.GroupBoxEx'. Please make sure that the assembly that contains this type is referenced.
If this type is a part of your development project, make sure that the project has been successfully built.


附加檔案:557a53e9587f3_LibTest.rar
aftcast
站務副站長


發表:81
回覆:1482
積分:1762
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-06-12 16:22:46 IP:114.32.xxx.xxx 訂閱
1/ 在InitializeComponent裡要新增component,要用 full name。我也不清楚實際的情形是為什麼,只能猜在design time時 parser 可能不會去parse using namespace。


this->groupBox1 = (gcnew GroupBoxExLib::GroupBoxEx());


2/ 如果你的common language runtime支援 要選 /clr:pure 。到此一切ok。


3/ 但是,選了 pure 後,c 本身的特色 implicit invoke 就無法使用。
若你堅持要用/clr。我幫你試了一下,改用別的路來達成:
在原方案中,再新增一個 .net class library 的 project,然後把 component的程式放入,並引用
using namespace System::Windows::Forms;
using namespace System::Drawing;
然後編譯一下。
在原來的 myform 專案裡,引用參考上面的那個組件。
將 #include "GroupBoxExLib.h" mark 起來,不需要它了。
而 myform 就可以保持 /CLR 而非 clr:pure


若我打的內容你有不明之處,再回覆。我或許再講細一點。
------



蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
編輯記錄
aftcast 重新編輯於 2015-06-12 16:39:35, 註解 無‧
aftcast
站務副站長


發表:81
回覆:1482
積分:1762
註冊:2002-11-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2015-06-12 16:28:47 IP:114.32.xxx.xxx 訂閱
附上我 vs2010幫你測的程式 : 使用 .net class lib + winform
http://delphi.ktop.com.tw/download.php?download=upload/557a97fb34a20_testUseComponent.7z
------



蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
taishyang
站務副站長


發表:377
回覆:5482
積分:4546
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2015-06-12 17:16:35 IP:59.127.xxx.xxx 訂閱
感謝前輩:
您的方式可行,之前我找到下面連結有一樣的情況
http://stackoverflow.com/questions/10853922/why-does-visual-c-designer-not-work-after-i-added-a-control-to-my-form
因為條件限制我目前的需求沒辦法用/clr:pure 這樣來編譯
所以後來也是改用新增class library的方式, 但還是不行,跟前輩的專案比較後才發現
原來產生的dll是要拖曳進工具箱變成可視元件, 而我是將dll加進專案中並且include .h檔

再次感謝^_^


===================引 用 aftcast 文 章=================== 附上我 vs2010幫你測的程式 : 使用 .net class lib winform
http://delphi.ktop.com.tw/download.php?download=upload/557a97fb34a20_testUseComponent.7z
編輯記錄
taishyang 重新編輯於 2015-06-12 17:28:15, 註解 無‧
系統時間:2017-04-24 15:21:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!