• 在DLL中怎么共用一个全局变量


    KeyLife富翁笔记
    作者: HongYuan
    标题: 在DLL中怎么共用一个全局变量
    关键字:
    分类: 开发经验
    密级: 保护
    (评分: , 回复: 0, 阅读: 190) »»

    有几个朋友经常向我问题在DLL中怎么共用一个全局变量。比如像用户登陆后的用户名(UserName)...
    其实这个问题很简单。下面我把我的做法写出来大家一起分享。

    把共享的变量放在主程序里:UserName,....等等,
    在主程序里写两个函数
    Function CurUserName():PChar;
    begin
     Result:=pchar(UserName);
    end;

    procedure SetCurUserName(LoginUserName: PChar)
    begin
     UserName:=LoginUserName;
    end;

    然后在主程序的工程文件(*.dpr)里输出这两个函数里写
    .....
    {$R *.res}

    exports
      CurUserName, SetCurUserName;
    ....

    这样在每个DLL里就可以使用这两个函数了

    function CurUserName: PChar; //从主程序里获取当前登陆帐号
    var
      GetCurUserName: function: pchar;
    begin
      @GetCurUserName := GetProcAddress(GetModuleHandle(pchar(application.Exename)), 'CurUserName');
      if Assigned(GetCurUserName) then //找到
        result := GetCurUserName
      else
        result := 'admin';
    end;


    2005-10-27 13:11:13   
  • 相关阅读:
    BOZJ2200: [Usaco2011 Jan]道路和航线
    poj3662
    网络流
    最短路
    约瑟夫环
    二分图匹配
    HDU 3938 Portal
    背包dp专题训练
    noip2013day1模拟赛
    2017.10.24:lca专题系列
  • 原文地址:https://www.cnblogs.com/ZhouXiHong/p/568213.html
Copyright © 2020-2023  润新知