1. prcvbuff是接收缓冲区
2. 对,但不是最好的,最好定义一个过程指针.
2. 对,但不是最好的,最好定义一个过程指针.
解决方案 »
- cxgrid 多选问题
- mciSendString方面的小问题,高分
- 怎样实现“路径选择对话框”
- Clientsocket和Serversocket几问!
- 怎样使statusbar自适应宽度
- 请教星级大师一个问题?unit1 ,form1,tform1的关系,现在有几个自制过程或函数,应该放在什么地方进行声明?在单元中声明和在Tform1中声
- 高分高M求:使用eReport开发报表
- to 斑竹 我的贴子结不了,帮一下。我可不想作没信誉的人。
- 一个关于Delphi 的数据库问题
- 我大win2000的密码忘了,请大家想想办法,怎样能进入系统?急
- Pdoxusrs.lck,Paradox.lck的秘密在哪里? 为什么在LAN中使用时,时不时出现该文件被其它用户控制的提示?
- 怎样把网页文件中的网络连接搜索出来,(DELPHI),小弟拜托各位高手相助。
2. 对,但不是最好的,最好定义一个过程指针.
我有如下做法请指教!
****************************
unit uDllDeclare;interface
type
pCallPro:procedure(pReceiveBuff:pString;iBuffLen:Integer);
end;
procedure SetSWSratusCallBack(fpProc:pCallPro);cdecl;
function SendCMDToCOMM(pReceiveBuff:pString;iBuffLen:Integer):Integer;cdecl;implementationfunction SetSWSratusCallBack;external 'dllname.dll' ;
function SendCMDToCOMM;external 'dllname.dll' ;end;//************以上为声明单元****************//***********在其他窗体***********
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure myCallpro(pRecBuff:pstring;iBufflen:integer);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
use uDllDeclare ;{$R *.DFM}
procedure TForm1.myCallPro(pRecBuff:pstring;iBufflen:integer);
begin
//do something ;
end;procedure TForm1.FormCreate(Sender: TObject);
var
CallPro:pCallPro; //是否需要?
pmyBuff:pstring;
sStirng:string;
begin
sString:='my string ';
pmyBuff:=@sString;
CallPro:=myCallPro(pmyBuff,Length(sString)); //是否需要?
SetSWSratusCallBack(CallPro) ;
//或不定义 var CallPro:pCallPro 及
// CallPro:=myCallPro(pmybuff,Length(sString))
// 直接 SetSWSratusCallBack(myCallPro(pmybuff,Length(sString));end;
end.
**********************************
可否?
谢谢!!
CallPro:=@myCallPro(pmyBuff,Length(sString));
2,均不需要.
3,SetSWStatusCallBack(CallPro);
4,Delphi与C共用时最好不要用String,pString;String是Delphi维护的,与C不一定兼容.最好用
PChar(for Delphi),Char * (for C)