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

如何在BCB中加入別的 .c檔

尚未結案
khumash
一般會員


發表:8
回覆:4
積分:2
註冊:2004-06-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-23 22:54:30 IP:211.76.xxx.xxx 未訂閱
我想自己寫一個程式, 會用到一些function 是別人已經寫好的(寫在另一個 .c), 我在vc6.0 中只要把別人寫的 .c加到 source file中, 然後把相關的 .h加到header file中, 就可以在自己寫的程式內使用別人定義的 function call. 但我想在BCB (我用4.0版)之下寫個 GUI, 請問該怎麼把別人寫的 .c加入呢? 我試過 "add file to project"就是工具列有一個綠色加號的按鈕, 把檔案加入project 可是仍然無法使用那些 function call, 請問有什麼要注意的地方嗎? THANKS
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-24 00:10:02 IP:219.80.xxx.xxx 未訂閱
Hello khumash,    1.把別人的.h和.c存到和你的project同一個路徑 2. : 加入.h和.c 3.在你的主程式中加入
#include xxx.h
4.ex: YourObj->func(); 試試看. 發表人 - nlj859 於 2004/09/24 00:24:54
zilch
中階會員


發表:5
回覆:87
積分:78
註冊:2002-09-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-24 00:15:29 IP:218.166.xxx.xxx 未訂閱
VC、BCB並不完全相容 在VC能過的並不代表BCB可過、反之亦然 可以檢查source code 看問題出在那 再適當改寫看看 發表人 - zilch 於 2004/09/24 00:16:40
khumash
一般會員


發表:8
回覆:4
積分:2
註冊:2004-06-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-24 16:59:25 IP:61.220.xxx.xxx 未訂閱
我照著nlj859大大 的做法, 在BCB的主程式 include other.h 然後使用 GLGpioWrite(1); compile可以過, 但是usb port沒有動作, 也就是硬體沒有送出信號. 請問我有什麼細節遺漏. Thanks!!    以下是 other.c (這不是自己寫的, 但是我要用裡面的function call) 這是一個可以控制 USB裝置傳輸的 code
 
#include 
#include "usbdi.h"
#include "ntddk.h"
#include "scanner.h"
#include "usbscan.h"
BOOL UsbWriteCommand(WORD, WORD, WORD, BYTE*);    extern DLLEXPORT BOOL WINAPI GLGpioWrite(unsigned char x)
{
    BYTE temp;        temp=x;
    return(UsbWriteCommand(IOCTL_GPIO_WRITE,0,1,&temp));
}    BOOL UsbWriteCommand(WORD byOffset, WORD uIndex, WORD byNbOfReg, BYTE *pbyData)
{
    DWORD                cbRet;
    BOOL        bRet;
    IO_BLOCK    IoBlock;        IoBlock.uOffset = byOffset;
    IoBlock.uLength = byNbOfReg;
    IoBlock.uIndex  = uIndex;
    IoBlock.pbyData = pbyData;        bRet = AsyncDeviceIoCtrl( hScanner,
                            (DWORD) IOCTL_WRITE_REGISTERS,
                            (BYTE*)&IoBlock,
                            sizeof(IO_BLOCK),             
                            NULL,
                            0,
                            &cbRet,
                            NULL);
    return(bRet);
}
接著是 other.h
#define DLLIMPORT
#ifdef __cplusplus
extern "C" DLLIMPORT BOOL WINAPI GLGpioWrite(unsigned char);
#else
extern  DLLIMPORT BOOL WINAPI GLGpioWrite(unsigned char);
#endif 
發表人 - khumash 於 2004/09/24 17:11:54
系統時間:2024-07-03 9:06:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!