报表的插件技术及其动态设计(3)
作者:佚名; 更新时间:2014-12-03

  begin

  @InitProc:=GetProcAddress(L.bHandle,InitPlugin’):

  irAssigned(InjtProc)then

  begin

  ListBox2.Items.Addfsr.Name);

  initproc(1istbox1);

  end

  else

  begin

  MessageDlg(’文件”’+sr.Name+…不是一个合法的插件’,

  mtlnformation,[mbOK],0):

  end;

  end

  else

  MessageDlg(’导入插件…+sr.Name+”’时发生严重错误!’,

  mtError,[mbOK],0):

  end;

  LoadPlugin方法展示了插件机制的核心。首先,插件被写成DLL。其次,通过LoadLibraryAPI被动态地加载。一旦DLL被加载,就需要一个访问它所包含的过程和函数的路径。API调用GetProcAddress提供这种机制,它返回一个指向所需例程的指针。在这个简单的演示中,插件仅仅包含一个名为InitPlugin的过程,信捷职称论文写作发表网,如果在DLL中没有找到请求的例程,GetProcAddress将返回n|l,这样就允许使用Assigned函数测定返回值。

  为了以一种易用的方式存储指向一个函数的指针,有必要为用到的变量创建一个特定的类型。注意,GetProcAddress的返回值被存储在一个变量中,initproc属于TPluginInit类型。下面是它的声明:

核心期刊快速发表
Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com