dll中控件的接收返回的问题?(50分)

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

lzmling

Unregistered / Unconfirmed
GUEST, unregistred user!
我在dll中用到spcomm,代码如下:
uses
ShareMem,SysUtils,Classes,Windows,Messages,
spcomm;
{$R *.res}

var
jmcomm:tcomm;
sbuf,rbuf:array[1..11] of byte;

function send():boolean;
var
i:integer;
begin
for i:=1 to 11 do
begin
if not jmcomm.writecommdata(@sbuf,1) then
begin
send:=false;
break;
end;
//发送时字节间的延时
sleep(2);
end;
send:=true;
end;

function openem(comno,txno:integer):integer;stdcall;
var
ls_commname:string;
i,j:integer;
s:string;
begin
ls_commname := 'COM'+inttostr(comno);
jmcomm.CommName := ls_commname;
if jmcomm.handle = 0 then
jmcomm.StartComm;
sbuf[1]:=byte($0); //帧头
for j:=2 to 10 do
sbuf[j]:=byte($30); //命令号
i:=strtoint('$'+inttostr(10+txno));
sbuf[11]:=byte(i); //帧尾
send;
end;
我该如何得到串口返回的值呢?
 
具体是哪个变量
 
有人能帮我一下吗,谢谢
 
想把返回值放在 rbuf 数组变量中
 
在一般程序中你肯定能得到返回值吧?那么在DLL中做个函数 返回值就是串口的返回值不就
行了吗?
 
一般程序中能得到返回值
一般程序中是写在spcomm的RecieveData事件中的,在DLL中我不知该如何写了
 
自己up一下
 
在线等待中。。。。
 
再up一下,有点急
 
再up一下,有点急..
能帮我一下吗,谢谢
 
在线等待中...
 
有人能帮我一下吗,谢谢
 
在线等待中...
 
大虾们,我该怎么办
 
大虾们,我该怎么办
 
在线等待中...
 
在线等待中...
 
你可以定义一个CALLBACK函数来处理DLL调用问题。
 
我是要在DLL中取得spcomm的端口返回值
 
在线等待中...
 

Similar threads

S
回复
0
查看
886
SUNSTONE的Delphi笔记
S
S
回复
0
查看
863
SUNSTONE的Delphi笔记
S
I
回复
0
查看
666
import
I
I
回复
0
查看
621
import
I
后退
顶部