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

Invalid pointer operation.

答題得分者是:william
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-16 11:48:16 IP:222.35.xxx.xxx 未訂閱
我在DLL中定义了一个读IC卡的函数,读取时所有信息都正常,但每次结束后都会提示 Invalid pointer operation. 如果把接收数据的过程关掉就没问题了,接收数据的过程如下,串口通讯我是用的SPComm。请问这是什么原因呢?谢谢。 PROCEDURE TMYOBJ.MYComReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word); VAR S1 : STRING; BEGIN START_TIMES := NOW; SetLength( S1, BufferLength); MOVE( Buffer^, PChar(S1)^, BufferLength); S_DATA := S_DATA S1; IF POS( #13, S_DATA)>0 THEN RECEIVE_FINISH := TRUE; END;
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-27 11:20:59 IP:222.35.xxx.xxx 未訂閱
有哪位大虾遇到过这种问题呢?我把它放在DLL中时就会有这种问题,如果直接放到应用程序中就没问题了,真是不知道什么原因。川口通讯我用的是SPCOMM。
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-27 12:00:20 IP:147.8.xxx.xxx 未訂閱
try try:
if BufferLength>0 then
   MOVE(Buffer^, @S1[1]^,BufferLength);
http://pywong.hk.st
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-27 14:10:26 IP:222.35.xxx.xxx 未訂閱
谢谢william,这样不行。我已找到原因,只要把STRING改成PCHAR就可以了。
系統時間:2024-05-19 11:46:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!