首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DLL文件版本

DLL文件版本
EN

Stack Overflow用户
提问于 2011-04-20 04:35:34
回答 4查看 5.4K关注 0票数 6

我有一个应用程序,它使用DLL来生成fastReports文件。

当我需要更改报告数据结构时,我只更改此DLL并将其分发给应用程序的所有用户。我怎么能保证所有人在开始之前都有最新的版本?

如何从DLL文件中生成/提取此信息。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-20 05:03:20

此函数将以字符串形式获取文件版本:

代码语言:javascript
复制
function FileVersionGet( const sgFileName : string ) : string;
var infoSize: DWORD;
var verBuf:   pointer;
var verSize:  UINT;
var wnd:      UINT;
var FixedFileInfo : PVSFixedFileInfo;
begin
  infoSize := GetFileVersioninfoSize(PChar(sgFileName), wnd);

  result := '';

  if infoSize <> 0 then
  begin
    GetMem(verBuf, infoSize);
    try
      if GetFileVersionInfo(PChar(sgFileName), wnd, infoSize, verBuf) then
      begin
        VerQueryValue(verBuf, '\', Pointer(FixedFileInfo), verSize);

        result := IntToStr(FixedFileInfo.dwFileVersionMS div $10000) + '.' +
                  IntToStr(FixedFileInfo.dwFileVersionMS and $0FFFF) + '.' +
                  IntToStr(FixedFileInfo.dwFileVersionLS div $10000) + '.' +
                  IntToStr(FixedFileInfo.dwFileVersionLS and $0FFFF);
      end;
    finally
      FreeMem(verBuf);
    end;
  end;
end;
票数 12
EN

Stack Overflow用户

发布于 2011-04-20 09:34:49

获取Dll版本:

代码语言:javascript
复制
function GetDllVersion: string;  //Run in dll project
var
  fn: string;
begin
  fn := GetModuleName(HInstance); 
  Result := FileVersionGet(fn);  // use Matthias's function
end;
票数 5
EN

Stack Overflow用户

发布于 2011-04-20 04:56:20

使用SysUtils.GetFileVersion()

获取文件版本需要预先设置文件版本。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5722378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档