線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1845
推到 Plurk!
推到 Facebook!

Console Wizard 程式編譯不過...

答題得分者是:ikk
bybreak
一般會員


發表:5
回覆:10
積分:8
註冊:2008-05-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-03-09 17:46:50 IP:220.130.xxx.xxx 訂閱
我用console wizar寫了一隻小程式要用來開啟外部exe檔,程式如下
[code cpp]
#include
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
AnsiString m_ExePath = ExtractFilePath(Application->ExeName);
String path;
if(Screen->Width < 1280){
path = m_ExePath "A.exe";
}
else{
path = m_ExePath "B.exe";
}
WinExec(path.c_str(),SW_SHOWNORMAL);
return 0;
}
[/code]
把Project→Options→Linker→Use Dynamic RTL和Project→Options→Packages→Build with runtime packages 勾掉之前編譯是可以過的
勾掉之後卻出現以下錯誤訊息
[Linker Error] Unresolved external 'Forms::Application' referenced from C:\USERS\ROYAL ADMIN\DESKTOP\BBBBBBBBCCCCDTEST\UNIT1.OBJ
[Linker Error] Unresolved external '__fastcall Forms::TApplication::GetExeName()' referenced from C:\USERS\ROYAL ADMIN\DESKTOP\BBBBBBBBCCCCDTEST\UNIT1.OBJ
[Linker Error] Unresolved external 'Forms::Screen' referenced from C:\USERS\ROYAL ADMIN\DESKTOP\BBBBBBBBCCCCDTEST\UNIT1.OBJ
[Linker Error] Unresolved external '__fastcall Forms::TScreen::GetWidth()' referenced from C:\USERS\ROYAL ADMIN\DESKTOP\BBBBBBBBCCCCDTEST\UNIT1.OBJ

看過https://delphi.ktop.com.tw/board.php?cid=168&fid=912&tid=36380這篇
用dllee的程式範例,直接把內容改成我的程式(不包括頭檔部份),並且把Use Dynamic RTL與Build with runtime packages勾掉是可以成功編譯的
很想知道問題出在哪裡...
是bcb設定問題? 還是少了什麼include?
麻煩各位大大解惑...萬分感謝!!
編輯記錄
bybreak 重新編輯於 2009-03-09 17:48:16, 註解 無‧
ikk
尊榮會員


發表:4
回覆:413
積分:768
註冊:2003-06-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-03-09 18:07:27 IP:163.28.xxx.xxx 訂閱
我試過也是可以的...
你是用BCB 6.0 ?
用New Colsole Appication ??
------
FPGA驗證, FPGA開發平台, http://smims.com
bybreak
一般會員


發表:5
回覆:10
積分:8
註冊:2008-05-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-03-10 09:12:26 IP:220.130.xxx.xxx 訂閱

===================引 用 ikk 文 章===================
我試過也是可以的...
你是用BCB 6.0 ?
用New Colsole Appication ??


疑!! 你怎麼知道我是用bcb 6呀@@?
New裡只有Console Wizard選項,這個就是你說的New Colsole Application嗎?
ikk
尊榮會員


發表:4
回覆:413
積分:768
註冊:2003-06-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-03-10 09:27:09 IP:163.28.xxx.xxx 訂閱
BCB6.0的話加上
#pragma link "vcl.lib"
------
FPGA驗證, FPGA開發平台, http://smims.com
bybreak
一般會員


發表:5
回覆:10
積分:8
註冊:2008-05-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-03-10 09:51:37 IP:220.130.xxx.xxx 訂閱
可以了耶!!! 
為什麼呢?
已經include還不夠阿?...
那又為什麼用dllee大的範例不用加#pragma link "vcl.lib"這行呢?
抱歉問題好多......@@"

===================引 用 ikk 文 章===================
BCB6.0的話加上
#pragma link "vcl.lib"
ikk
尊榮會員


發表:4
回覆:413
積分:768
註冊:2003-06-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-03-10 10:06:31 IP:163.28.xxx.xxx 訂閱
在BCB6中, 沒有將VCL lib link進來, 所以console下使用到VCL元件會出現錯誤...
------
FPGA驗證, FPGA開發平台, http://smims.com
bybreak
一般會員


發表:5
回覆:10
積分:8
註冊:2008-05-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-03-10 10:09:14 IP:220.130.xxx.xxx 訂閱
喔~~原來是這樣阿
謝謝ikk耐心解說

===================引 用 ikk 文 章===================
在BCB6中, 沒有將VCL lib link進來, 所以console下使用到VCL元件會出現錯誤...
系統時間:2024-04-27 8:36:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!