嘻,我已经糊涂了
看我理解得对不对假设Dll中有
function SetProc(P: Pointer); stdcall;
proceudre GetProc: Pointer; stdcall;在主程序可用
procedure p1;
begin
  ShowMessage('p1');
end;procedure p2;
begin
  ShowMessage('p2');
end;Dll.SetProc(P1);
TProcedure(Dll.GetProc);Dll.SetProc(P2);
TProcedure(Dll.GetProc);

解决方案 »

  1.   

    在dll中調用主Exe中的function,这个俺做过,不就是回调函数吗?不知我的理解对否?exe 调用 dll 调用 exe's function 如果在exe's function  中再调用dll,我想还是可以的 本质上是第归
      

  2.   

    就是回调函数,最典型的例子:
    EnumWindows(lpEnumFunc,lParam):BOOL //DLL中的函数
    而lpEnumFunc就是你在宿主程序中定义的函数
    EnumWindowsProc(hwnd,lParam):BOOL //函数样式