关于MyBean开源框架的学习经验 如何使用全局对象

为了方便的公共全局对象库,我将我的使用方式贴出来
步骤如下

1
下载 mybean 框架
必须要用到plugmap这个插件  由于在各个dll之间共享对象库,所以个dll必须带包编译

2 建立公共对象库目录

新建一个单元文件 data.pas

  TData2 = class
  private
    FHandle: THandle;
    FName:string;
  public
    property Handle: THandle read FHandle write FHandle;
    property Name: string read FName write FName;
  end;

 

3 存放对象

var
  lvObj:TData2;
begin
  lvObj := TData2.Create;
  lvObj.Handle:=123456;
  TMyBeanMapTools.setObject('data2', lvObj);
  ShowMessage('存放全局对象成功,你可以在其他插件中获取该对象');
end;

 

4 使用对象

var
  lvObj:TData2;
begin
  lvObj := TData2(TMyBeanMapTools.getObject('data2'));
  if lvObj = nil then raise Exception.Create('对象仓库中没有找到对象的对象!');
  ShowMessage(IntToStr(lvObj.Handle));

//  TMyBeanMapTools.removeAndFreeObject('data2');可以这样提前释放
end;

 

存放对象 和使用对象 可以在不同的Dll中

5 关于内存释放的问题

TMyBeanMapTools.setObject  这个方法得到的对象,需要使用者释放
TmBeanFrameVars.setObject 这个方法得到的对象,需要使用者释放

TmBeanFrameVars.getBean  这个方法得到的对象,框架自动释放

分享到: