type TMyfunc = function (参数定义) :返回值 ;var
MyFunc :TMyfunc ;function fun1...
begin
...
end ;
...
begin
myfunc := @fun1 ; //赋值
myfunc() ;//调用
end ;
MyFunc :TMyfunc ;function fun1...
begin
...
end ;
...
begin
myfunc := @fun1 ; //赋值
myfunc() ;//调用
end ;
解决方案 »
- 利用toolbar定制工具按钮,注意是自定义
- 图片格式的问题?
- 关于进程和线程的问题,小弟不解
- 如何设计象windows资源管理器左右两边窗口可以伸缩??
- 请问CSDN是全中国最大的开发者论坛吗? [进者有分^^]
- 怎么在一个string 类型的字符串内确定一个单词的位置?
- 诚聘DELPHI技术兼职人员!
- 将数据库中的“县市区”字段中的所有数据添加到DBComboBox下拉列框。听说用一条命令即可,老方式我也会。
- 我做的MDI父窗口最大化的时候把windows桌面的状态栏也给覆盖了,我该怎样设置不让它覆盖呢?
- Delphi XE5 正式版发布了,附下载
- 一个小问题
- 我想在数据集中查找s_zlm字段的值每一个字母等于A的记录'该怎么写代码啊?
当I为1时进行增加操作;
当I为2时进行删除操作;
等等.
按照Windows的方法就行了。
// 定义函数的地方
procedure MyProc( p: Integer ); export; stdcall;
begin
// do what you want to do
end;exports
MyProc;// 调用的地方
type
TMyProc = procedure(p: Integer);procedure InvokeMyProc(
const sProcName: String; // 过程名
param: Integer // 参数
);
var
aProc: TMyProc;
begin
aProc := GetProcAddress( hInstance, PChar(sProcName) );
TMyProc(aProc)( param );
end;// 使用范例
InvodeMyProc( 'MyProc', 1 );2.是类对象中的published方法:
type
TMyMethod = procedure(p: Integer) of object;procedure InvokeMyMethod(
Obj: TObject; // 对象
const MethodName: String; // 方法名
param: Integer // 参数
);
var
aMethod: TMethod;
begin
aMethod.Code := Obj.MethodAddress( MethodName );
aMethod.Data := Obj;
TMyMethod(aMethod)( param );
end;//////////////////////////
其实,还有一种方法:
if ProcName='MyProc' then
MyProc( 100 );当然,你不会愿意这么用的,我这样说你还会骂我呢。