zoukankan      html  css  js  c++  java
  • 通过INI文件实现HYDRA各插件间对象共享

    type TLoginUser = record //登陆用户结构

       id: string;

       name: string;

       ruleid: string;

       rulename: string;

       pwd: string;

    end;

    PShareObjectRecord = ^TShareObjectRecord;

    TShareObjectRecord = record //共享对象结构

       Connection: TADOConnection;

       LoginUser: TLoginUser;

    end;

    var

       G_PShareObjectRecord: PShareObjectRecord;//全局共享对象指针

    system.ini //ini文件保存共享结构的指针值

     [pointer]

    shareobj=13609472

    //把共享的对象指针传入全局共享结构内

     G_PShareObjectRecord^.Connection := ADOConnection1;

    with G_PShareObjectRecord.LoginUser do //记录登录用户资料

    begin

    id := FindField('id').AsString; name := FindField('name').AsString;

     ruleid := FindField('ruleid').AsString;

     rulename := FindField('rulename').AsString;

     pwd := FindField('pwd').AsString;

    end;

     procedure THostForm.FormShow(Sender: TObject);//保存全局共享对象结构的指针

    var ini: TIniFile;

    path: string;

    begin

    path := ExtractFilePath(Application.ExeName) + 'system.ini';

    ini := TIniFile.Create(path);

     ini.WriteInteger('pointer', 'shareobj', THandle(G_PShareObjectRecord));

     ini.Free;

    end;

    //取共享对象

     function GetConnection: TADOConnection;

    var

     ini: TIniFile;

    path: string;

    p: Integer;

    begin

    path := ExtractFilePath(Application.ExeName) + 'system.ini';

    ini := TIniFile.Create(path);

     p := ini.ReadInteger('pointer', 'shareobj', 0);

    Result := PShareObjectRecord(THandle(p))^.Connection;

     ini.Free;

    end;

     function GetLoginUser: TLoginUser;

    var

     ini: TIniFile;

     path: string;

    p: Integer;

     begin

    path := ExtractFilePath(Application.ExeName) + 'system.ini';

    ini := TIniFile.Create(path);

     p := ini.ReadInteger('pointer', 'shareobj', 0);

    Result := PShareObjectRecord(THandle(p))^.LoginUser;

    ini.Free;

    end;

  • 相关阅读:
    bzoj 3670: [Noi2014]动物园
    bzoj 2878: [Noi2012]迷失游乐园
    51nod 1348 乘积之和
    51nod 1514 美妙的序列
    AtCoder Grand Contest 002 D
    bzoj 3451 Normal
    LOJ #6119. 「2017 山东二轮集训 Day7」国王
    51nod 1752 哈希统计
    计蒜客 百度地图的实时路况
    Codeforces 549F Yura and Developers
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2940656.html
Copyright © 2011-2022 走看看