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

SPComm元件for XE3

 
superlevin
高階會員


發表:181
回覆:313
積分:180
註冊:2003-01-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-04-09 14:16:46 IP:106.1.xxx.xxx 訂閱
SPComm是年代蠻久遠的ComPort控制元件,之所以一直歷久不衰是因為簡單易用。
因為最近使用XE3在開發POS系統的原因,所以也找了新版本的SPComm,而原作者是copyleft的方式,再加上不易找到,所以筆者也將它開放到GitHub讓有需要的朋友一起使用。
GitHub: https://github.com/superlevin/spcomm_xe3
------
林壽山
網站: http://superlevin.ifengyuan.tw
mail: superlevin@gmail.com
aftcast
站務副站長


發表:81
回覆:1482
積分:1762
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-04-15 11:11:11 IP:114.32.xxx.xxx 訂閱
感謝您提供的github資源!

因我手上也有一版,非我所改,但也是網路上找到。我在64bit環境下測過( cb xe3)。剛比對了一下您的版與我手上的版,發現您的與我不同,且至少有一小部份的實作有一點小小的問題(也許僅會是side effect),
舉例來說
TComm.WriteCommData( pDataToWrite: PAnsiChar; dwSizeofDataToWrite: Word ): Boolean;

PostThreadMessage( WriteThread.ThreadID, PWM_COMMWRITE,
WPARAM(dwSizeofDataToWrite), LPARAM(Buffer) )
‧‧‧‧‧
其中pDataToWrite已被改成 pansichar了,但,當postmessage後的,它的handler是

case msg.message of
PWM_COMMWRITE: // New string to write to Comm port.
begin
// Write the string to the comm port. HandleWriteData
// does not return until the whole string has been written,
// an error occurs or until the CloseEvent is signaled.
if not HandleWriteData( @overlappedWrite,
PAnsiChar(msg.lParam), DWORD(msg.wParam) ) then


HandleWriteData 這個函式在您的版本上的第二參數卻依舊是PChar並非PAnsiChar。這樣一連串下來有所不一致! 也許好像沒什麼問題,但怕會有side effect出現…

我尚未比對所有的問題,因近來工作極忙。如果可以,您可比較一下。稍後我附上我手上的版本。


謝謝!

===================引 用 superlevin 文 章===================
SPComm是年代蠻久遠的ComPort控制元件,之所以一直歷久不衰是因為簡單易用。
因為最近使用XE3在開發POS系統的原因,所以也找了新版本的SPComm,而原作者是copyleft的方式,再加上不易找到,所以筆者也將它開放到GitHub讓有需要的朋友一起使用。
GitHub: https://github.com/superlevin/spcomm_xe3
------



蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
aftcast
站務副站長


發表:81
回覆:1482
積分:1762
註冊:2002-11-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2013-04-15 11:15:35 IP:114.32.xxx.xxx 訂閱
------



蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
superlevin
高階會員


發表:181
回覆:313
積分:180
註冊:2003-01-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2013-04-25 17:09:20 IP:106.1.xxx.xxx 訂閱
我有做了一點點的修改,主要是做POS的開發~好像也沒有特別的問題
謝謝您唷!我再多多測試看看 :)
------
林壽山
網站: http://superlevin.ifengyuan.tw
mail: superlevin@gmail.com
系統時間:2017-05-28 1:26:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!