請教關於DLL的觀念 |
答題得分者是:ddy
|
Maitreya229
一般會員 發表:3 回覆:7 積分:2 註冊:2010-09-06 發送簡訊給我 |
|
老大仔
尊榮會員 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
小弟我也不太清楚DLL是否可以一直保有變數...(我也是個小小新手....)
可能要請前輩們指導了 不過~ 是不是可將dll運算出來的值先放到專案中的全域變數? 假如您指的表單就是Form的話 您可以在主Form中宣告個全域變數 這樣一來B也就不用去讀dll了 我是覺得反正dll的X值是最新的 那麼先將值給撈出來放著應該也沒差吧...XD 個人意見~ 僅供參考>"< ===================引 用 Maitreya229 文 章=================== 各位大大好,
編輯記錄
老大仔 重新編輯於 2010-09-09 11:04:42, 註解 無‧
|
Maitreya229
一般會員 發表:3 回覆:7 積分:2 註冊:2010-09-06 發送簡訊給我 |
感謝五星的"小小新手" 老大仔 給小弟回覆,
所以我才希望dll的變數值能夠一直保持住, 不然重複去重建那麼龐大的資料效能的影響是很驚人的. ===================引 用 老大仔 文 章=================== 小弟我也不太清楚DLL是否可以一直保有變數...(我也是個小小新手....) 可能要請前輩們指導了 不過~ 是不是可將dll運算出來的值先放到專案中的全域變數? 假如您指的表單就是Form的話 您可以在主Form中宣告個全域變數 這樣一來B也就不用去讀dll了 我是覺得反正dll的X值是最新的 那麼先將值給撈出來放著應該也沒差吧...XD 個人意見~ 僅供參考>"<
編輯記錄
Maitreya229 重新編輯於 2010-09-09 16:00:38, 註解 無‧
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
Maitreya229
一般會員 發表:3 回覆:7 積分:2 註冊:2010-09-06 發送簡訊給我 |
感謝副站長大人的回覆,
我會試看看. 另外再請教, 我如果於dll的function中傳入一個pchar, 我於參數傳入前先指定給一個string變數. 例如: var meg:string; testPchar:PChar; begin meg:='wow!! test success , 2010/09/09.'; test:=Addr(meg); testFun(testPchar); //之後秀出meg的值,也許已在testFun被修改為 'test12345' end 那pchar傳入後,在testFun裡面應該要如何才能正確修改所指定的變數值? 因為我試過一些寫法,不是有錯誤就是meg最後的值裡面是一片空白, 我想可能是我的觀念不夠正確,或者寫法有誤. 目前持續找資料並試著修正中QQ... 還請各位大大不吝賜教. P.S. 我目前用的是 Delphi 2006 for .NET ===================引 用 ddy 文 章=================== 參考 http://msdn.microsoft.com/zh-tw/library/h90dkhs0(VS.80).aspx
編輯記錄
Maitreya229 重新編輯於 2010-09-09 16:15:33, 註解 無‧
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
其實看了很久不太明白你的問題 XD
不過我猜測你應該是卡在 string 傳址/傳值的問題 給你一個小範例, 如果你希望字串傳進function後,原字串不要被修改,那就直接傳就行了 如果你希望字串傳進function後,原字串要被修改,那在宣告時加上 var 就行了,不用再轉成PChar procedure TForm1.Button1Click(Sender: TObject); var msg:string; begin msg:='wow!! test success , 2010/09/09.'; testFun(msg); Button1.Caption :=msg; end; procedure TForm1.testFun(
編輯記錄
ddy 重新編輯於 2010-09-09 16:41:28, 註解 無‧
|
Maitreya229
一般會員 發表:3 回覆:7 積分:2 註冊:2010-09-06 發送簡訊給我 |
感謝副站長回覆,
編輯記錄
Maitreya229 重新編輯於 2010-09-09 17:11:33, 註解 無‧
|
Maitreya229
一般會員 發表:3 回覆:7 積分:2 註冊:2010-09-06 發送簡訊給我 |
抱歉,再請教一下,
編輯記錄
Maitreya229 重新編輯於 2010-09-09 18:29:53, 註解 無‧
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
Maitreya229
一般會員 發表:3 回覆:7 積分:2 註冊:2010-09-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |