可以用函数类型来实现
type
TMyFunc = function() // 后面要跟参数,和你的function1一致
...var
MyFunc: TMyFunc;MyFunc := function1;
以后就可以用myfunc来调用function1了
type
TMyFunc = function() // 后面要跟参数,和你的function1一致
...var
MyFunc: TMyFunc;MyFunc := function1;
以后就可以用myfunc来调用function1了
解决方案 »
- webbrowser提交select option问题
- 如何使过程应用于多个事件?
- QuickRep 自定义格式报表,第一页内容显示不完整?
- 应是缺少控件,但不知道如何解决?
- 关于窗口融合的高难度问题
- 请问如何能将strtoint引发的异常屏蔽掉!!
- 哪位高手有空帮我翻译下面藏文内容
- ListView的内容存成Txt文件!
- 小弟,想学Delphi,请问Delphi现在用得最多的是哪个版本?
- 怎样做服务程序? (在系统后台运行)
- Dll高手请进!我在应用中调用一查询的DLL时老是出错 "Access Violation at adress .....in module oleaut32.dll,read adress 00142000"
- @@@@@@@@@@@@@@@to zswangII(伴水II)(需要充充电)(副本) @@@@@@@@@@@@@@@
if string='myfunc' then
call Function1()
end if if string='myfunb' then
call function2()
end ifend function
当I为1时进行增加操作;
当I为2时进行删除操作;
等等.
1.是输出的函数:
按照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 );
当然,你不会愿意这么用的,我这样说你还会骂我呢。