我启用了DELPHI的版本控制,但我如何得到DELPHI的版本号!
解决方案 »
- 不要迷恋歌,歌只是个传说
- 安装delphi 2007后出现iteidw32100.bpl无法加载怎么解决?
- 有誰知道在FasrReport中怎樣得到當前行中某一列的值,類似Line這樣的函數或是程式代碼?
- 如何实现打印机的进退纸功能
- 求教!!!关于浏览刚刚添加的数据的问题!
- 这个错误是怎么回事?
- 请问哪有DELPHI中文版下载
- 新增记录的问题
- 从TBlobField里读出的数据,怎么样才能转化成某个类的实例?
- 学习SQL是不是一定要在网络环境?DELPHI在单机状态下能不能调试网络版????
- 紧急求救!:我需要做一个留言簿的课程设计,但不会做,明天就要交了,有没有人可以帮我?
- 急!!!!TADOStoredProc如何进行输入输出参数的问题?
InfoNum = 10;
InfoStr: array[1..InfoNum] of string = ('CompanyName', 'FileDescription', 'FileVersion', 'InternalName', 'LegalCopyright', 'LegalTradeMarks', 'OriginalFileName', 'ProductName', 'ProductVersion', 'Comments');
var
S: string;
n, Len, i: DWORD;
Buf: PChar;
Value: PChar;
begin
S := Application.ExeName;
n := GetFileVersionInfoSize(PChar(S), n);
if n > 0 then
begin Buf := AllocMem(n);
Memo1.Lines.Add('VersionInfoSize = ' + IntToStr(n));
GetFileVersionInfo(PChar(S), 0, n, Buf);
for i := 1 to InfoNum do
if VerQueryValue(Buf, PChar('StringFileInfo\040904E4\' + InfoStr[i], Pointer(Value), Len) then
Memo1.Lines.Add(InfoStr[i] + ' = ' + Value);
FreeMem(Buf, n);
end
else
Memo1.Lines.Add('No version information found');
end;
这是delphi帮助里面的例子
TSimpleVersion = record
dwProductVersionMS: DWORD;
dwProductVersionLS: DWORD;
end;
function GetBuildInfo(FName: string): TSimpleVersion; //获得版本信息函数
var
VerInfoSize: DWORD;
VerInfo: Pointer;
VerValueSize: DWORD;
VerValue: PVSFixedFileInfo;
Dummy: DWORD;
begin
VerInfoSize := GetFileVersionInfoSize(PChar(FName), Dummy);
GetMem(VerInfo, VerInfoSize);
GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
with VerValue^ do
begin
Result.dwProductVersionMS := dwFileVersionMS;
Result.dwProductVersionLS := dwFileVersionLS;
end;
FreeMem(VerInfo, VerInfoSize);
end;