如何利用spcomm在dll中实现数据的接收,哪位帮忙啊 (100分)

  • 主题发起人 主题发起人 Langrenxilin
  • 开始时间 开始时间
L

Langrenxilin

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在dll中实现数据的接收并在主程序中显示,(可以使用spcomm)
已经可以实现发送数据了,如果谁有源码更好。分不够可再加。
 
传一个变量出去,然后在主程序调用时,就接收这个值来改变进度不就行了吗?
 
定义一个回调函数,
比如prcoedure GetReceiveStr(var strReReceive);
然后在DLL中定义一个接口函数,比如
procedure OpenCOMPort(COMName:string; CallFun:Point);export;
begin
SPCOMM.COMName:=COMName;
SPCOMM.Start;
//定义一类型和一变量 MCallFun:procedure:(COMName);
MCallFun:=CALLFun;
end;
然后杂SPCOMM的OnReceiveData事件里写
MCallFun(接收到数据)
如果你不明白,你可以看看回调函数的例子。

还有一简单的,就时初始化COM口向DLL传一窗口句柄。
然后当SPCOMM接收事件时利用SendMessage(Hanlde,WM_COPYDATA,..)
来传替给程序.

 
neutrondelphi:
能否把第二种说的详细点啊,多谢
 
spcomm在dll中怎样接收数据啊,用什么函数啊。
 
帮忙顶一下,偶也想知道,哪位说的详细点啊
 
dll中代码创建spcomm控件,然后把spcomm控件的接收数据事件指向你的过程。
例:
spcomm1.***Data:=ddd;
其中你的过程ddd的参数与spcomm1.***Data参数相同。
 
能详细点吗,大哥,小弟初学,好多还没有概念,不胜感激,分不够可再加
 
具体的ddd怎么写啊?
 
哪位帮忙啊?
 
怎么用spcomm在dll中接收啊,我还是编不出来,
原来的那个onreceivedata现在该怎样用啊,高手指点一下,小弟实在很急啊
 
多人接受答案了。
 
对不起,我没看到后面的问题,如还没解决可发Mail给我 fangzhiyuan2000@163.com
 
后退
顶部