delphi dll项目中 dpr和pas的全局变量如何设置

delphi dll项目中 dpr和pas的全局变量怎么设置?

这个是dpr里面的部分代码

Function SetHook(h:HWND):boolean;stdcall;---h:HWND是一个传入的参数
var
 GameTid:THandle;
begin
   gamehwid:=h;//这里把参数给这个变量  gamehwid 这个是dpr中的代码 这个数据在其他的pas中用到 怎么定义这个变量?  
Result:=false;
 if (windows.IsWindow(h)=false) then
   begin
   Messagebox(0,'无效窗口句柄','error',0);
   exit;
   end;//如果未打开则退出
   GameTid:=GetWindowThreadProcessId(h);
   keyhhk:=SetWindowsHookEx(WH_GETMESSAGE,@GetMsgProc,HInstance,GameTid);
   if keyhhk>0 then
   Result:=true;
end;

procedure DllEnterProc(reason:integer);
begin
   case reason of
   windows.DLL_PROCESS_ATTACH: begin end;
   windows.DLL_PROCESS_DETACH: begin Form1.Free;form1:=nil; end;
   end;
end;
exports   //导出函数
   SetHook;
begin
dllProc:=@DllEnterProc;
end.

这个是pas里面的部分代码

      
if gamehwid>0 then  //调试的时候发现这个数据被重置为0,导致后面的调用失败。
       begin
        SwitchToThisWindow(gamehwid,true);
       delay1(3000);
       keybd_event(65,0,0,0);
     keybd_event(65,0,KEYEVENTF_KEYUP,0);

       delay1(4000);
       tab();
       delay1(4000);
       delay1(4000);
       end;


   gamehwid:=h;//这里把参数给这个变量  gamehwid 这个是dpr中的代码 这个数据在其他的pas中用到 怎么定义这个变量? 求了解的帮下这个忙。

Delphi 全局变量

------解决方案--------------------
pas文件中定义全局变量,在dll dpr中 uses xxx.pas {变量}; ,如果需要多个变量就 {变量1}{变量2}{变量n}...
例如

// dll 项目中的一个单元 unit1