谢谢你的参与。 举个例子:
 有一个菜单配置表:
                  菜单一  对应的函数 menu1();
                  菜单二  对应的函数 menu2();
                      ..    ..
   有一个编译好的dll调用此表,动态生成菜单项,而菜单对应的函数可能是后加的,即是另一个dll,在不需要重新编译生成菜单DLL的情况下、只要修改菜单表和实现的DLL即可完成工作。
   
   有的用户水平很高,他们有能力改写具体实现的DLL,所以要实现这种功能了。   我记得C语言可以实现这种功能,具体忘了。好像用指针吧!   请大家多多帮忙。。

解决方案 »

  1.   

    为什么不用Ini文件呢?比如说
    [Root]
    Count=2Item1=菜单1
    SubItem1=
    Command1=Paint.exeItem2=菜单2
    SubItem2=SubItem2
    Command2=[SubItem2]
    Count=1Item1=子菜单1
    SubItem1=
    Command1=NotePad.exe在程序中用递归的方式读取,并动态创建MenuItem
      

  2.   

    我这里有一个很详细的例子,要的话请联系
    [email protected]
      

  3.   


    var
      hLib: integer;
      hrun:function(param1:type1;param2:type2...):rtntype;stdcall;//你的过程或函数的格式
    begin
      hlib:=loadlibrary(pchar('yourlib.dll'));
      if hlib<>0 then
        hrun:=GetProcAddress(win.hlib,'YourProcName');
      if @hrun<>nil then hrun;
    end;
      

  4.   

    你的意思是不是 想动态改变 某事件的处理函数啊?  要是这样的话, 如 Jerry 所说,写个 处理函数 (仿照 delphi 自动添加 的代码) 
      然后  yourobject.onevent:=yourhandlefunction;  就行了,程序运行时也是可以随时更改的,很方便啊