我在Delphi6中使用它们
use mmsystem;procedure TSocketFrm.MMxRateCntTimer(uTimeID,uMessage:UINT; dwUser, dw1, dw2:DWORD)stdcall;form2
var
timerid:integer;Form2 buttion click()
timerid:=timeSetEvnet(1000,10,SocketFrm.MMxRateCntTimer,0,TIME_PERIODIC);ERROR:
Incompatible types:'regular procedure and method pointer'
use mmsystem;procedure TSocketFrm.MMxRateCntTimer(uTimeID,uMessage:UINT; dwUser, dw1, dw2:DWORD)stdcall;form2
var
timerid:integer;Form2 buttion click()
timerid:=timeSetEvnet(1000,10,SocketFrm.MMxRateCntTimer,0,TIME_PERIODIC);ERROR:
Incompatible types:'regular procedure and method pointer'
解决方案 »
- 有没办法把窗体上的关闭按钮屏蔽掉但可以看到,就是把那个打X的变成灰色????
- fastreport3 中怎样将某个memo为零的那一行全部不打印?
- .Net 生成的 WebService 中有一函数需要传入字符串参数,传入中文时都成问号了!!!
- 排序问题(在线等)
- 小妹有难,请各位仁兄帮忙?(在线,等)
- Delphi能与C++ Builder同时安装吗?
- 挑战Delphi,VC高手
- 现场给分,有谁知道李维大虾3本书的电子版网址(50)
- Delphi direct是怎么实现出来的?
- 哪儿有身份验证的email发送控件?
- 如何实现给定一字符串,便可生成对应的类(类名称用该字符串表示)对象
- Delphi6中使用ADO连接Access2000,视图查询出错,急!!!!
你必须把回传函数定义在SocketFrm之外
为一般函数
而不是SocketFrm的成员函数use mmsystem;procedure MMxRateCntTimer(uTimeID,uMessage:UINT; dwUser, dw1, dw2:DWORD)stdcall;form2
var
timerid:integer;Form2 buttion click()
timerid:=timeSetEvnet(1000,10,MMxRateCntTimer,0,TIME_PERIODIC);
其它单元使用它
当成TSocketFrm的成员函数就行
比如,type
TSocketFrm = class(TForm)
private
...
public
...
end;procedure MMxRateCntTimer(uTimeID,uMessage:UINT; dwUser, dw1, dw2:DWORD)stdcall;var
SocketFrm: TSocketFrm;implementationprocedure MMxRateCntTimer(uTimeID,uMessage:UINT; dwUser, dw1, dw2:DWORD)stdcall; //注意,这个stdcall也是必不可少的
begin
...
end;
begin
TSocketFrm frm = ( dwUser as TSocketFrm );// 没试,不知这样转行不
frm.//这样就可以访问TSocketFrm的成员了end;form2
var
timerid:integer;Form2 buttion click()
timerid:=timeSetEvnet(1000,10,MMxRateCntTimer,(DWORD)self,TIME_PERIODIC); //(DWORD)self 这里把TSocketFrm作为参数传进去
frm.//这样就可以访问TSocketFrm的成员了好像不行啊