마스터와 DLL 간의 글로벌 변수 문제

936 단어 functiondll
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;

좋은 웹페이지 즐겨찾기