第二次 呼叫DLL 出錯 |
尚未結案
|
GiGi
一般會員 發表:17 回覆:21 積分:7 註冊:2002-10-19 發送簡訊給我 |
線上各位先進大家好
小弟不才,製作一個DLL使用,發現一問題無法解決,煩請線上各位先進幫忙 程式如下
下列程式於被呼叫第二次時 會產生AV 錯誤 Function ShowDataTime(SourceDate:String):String;export; begin amCalendar:=TamCalendar.Create(nil); Result:=amCalendar.GetDateTime(SourceDate); FreeAndNil(amCalendar); end; Exports ShowDataTime; 下列程式於被呼叫第三次時 會產生AV 錯誤 Function ShowDataTime(SourceDate:String):String;export; begin if amCalendar=nil then amCalendar:=TamCalendar.Create(nil); Result:=amCalendar.GetDateTime(SourceDate); end; 下列程式 則不會發生錯誤 Function ShowDataTime(SourceDate:String):String;export; begin ShowMessage('1'); amCalendar:=TamCalendar.Create(nil); ShowMessage('2'); Result:=amCalendar.GetDateTime(SourceDate); FreeAndNil(amCalendar); end; 呼叫語法為 Label1.Caption:=ShowDataTime(Label1.Caption); (還在研究KTOP 如何上傳問題程式) 如線上網友 有時間煩請幫忙 謝謝 .... > |
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
GiGi 你好
試試改成這樣? Function ShowDataTime(SourceDate:String):String;export; Var amCalendar:TamCalendar; begin amCalendar:=TamCalendar.Create(nil); Result:=amCalendar.GetDateTime(SourceDate); FreeAndNil(amCalendar); end;_______________________________________ 深藍的魚,祝您好運..........連連 |
GiGi
一般會員 發表:17 回覆:21 積分:7 註冊:2002-10-19 發送簡訊給我 |
已將檔案上傳http://delphi.ktop.com.tw/topic.php?TOPIC_ID=64112 把dll 改為上面大大所建議的 但是情況還是一樣耶 ...
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
Using string in between the exe and dll need to make use of ShareMem unit. Add ShareMem to the very beginning of the uses clause in BOTH exe and dll project. http://pywong.hk.st http://www.lazybones.ca
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |