我现在用DLL的方式发布系统,那么如何在发布平台上判断我的DLL版本呢?如果是最新的版本,则自动下载DLL以更新程序

解决方案 »

  1.   

    //得到文件版本
    function GetVersionString(FileName: string): string;
    var
      VerInfoSize: DWORD;
      VerInfo: Pointer;
      VerValueSize: DWORD;
      Dummy: DWORD;
      VerValue: PVSFixedFileInfo;
    begin
      Result := '';
      VerInfoSize := GetFileVersionInfoSize(PChar(FileName), Dummy);
      if VerInfoSize = 0 then Exit;
      GetMem(VerInfo, VerInfoSize);
      GetFileVersionInfo(PChar(FileName), 0, VerInfoSize, VerInfo);
      VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);  Result := IntToStr(VerValue^.dwFileVersionMS shr 16) + '.' +
                IntToStr(VerValue^.dwFileVersionMS and $FFFF) + '.' +
                IntToStr(VerValue^.dwFileVersionLS shr 16) + '.' +
                IntToStr(VerValue^.dwFileVersionLS and $FFFF);
      FreeMem(VerInfo);
    end;
      

  2.   

    前提是你的dll编译的时候启动了Version info