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

[BCB] 如何在 DLL 裡使用 TClientDataSet

尚未結案
lacoste
一般會員


發表:8
回覆:1
積分:1
註冊:2002-05-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-01-30 14:17:38 IP:61.222.xxx.xxx 訂閱
DLL裡,有拉TDataModule
裡面有
TClientDataSet *cdstemp1;
TSocketConnection *SocketConnection1;
TSimpleObjectBroker *SimpleObjectBroker1;

DLL 內有兩個 FUNCTION:
long __declspec(dllexport) __stdcall VCType_count(int m,int n)
{
long sum= 0;
for (m;m<=n;m )
{
sum =m;
}
return sum;
}
char* __declspec(dllexport) __stdcall VCType_GetKPNO(char* m)
{
int iIndex,iServerCount;
TdmSA *dmSA;
dmSA-> SocketConnection1->ServerGUID = "{ACFFAEFA-AEA2-440D-8AA1-DBC972DC04B2}"; // 在執行到出錯
}

Step by step 執行,發現 dmSA是 NULL。
後來改成在 function裡宣告
char* __declspec(dllexport) __stdcall VCType_GetKPNO(char* m)
{
int iIndex,iServerCount;

TClientDataSet *cdstemp2;
TSocketConnection *SocketConnection2;
TSimpleObjectBroker *SimpleObjectBroker2;
SocketConnection2->ServerGUID = "{ACFFAEFA-AEA2-440D-8AA1-DBC972DC04B2}"; // 在執行到出錯
}

錯誤訊息為:
'Access violation at address 40A234B6 in module 'dsnapcon60.bpl'

請問是哪沒寫好?
sryang
尊榮會員


發表:38
回覆:742
積分:876
註冊:2002-06-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-02-01 19:12:59 IP:114.35.xxx.xxx 訂閱
沒有 new
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
系統時間:2017-12-15 18:17:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!