DELPHI 如何自身工程版本信息 在DELPHI里建一个工程 如果在代码里面知道自己本身的版本信息? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 注意,是窗体DLL 我用A.EXE 调用窗体B.DLL 那么我在B.DLL中怎么知道自己B.DLL的版本信息呢 function GetBuildInfo(const FileName:string): string; //////////// 读取版本信息var VerInfoSize: DWORD; VerInfo: pointer; VerValueSize: DWORD; VerValue: PVSFixedFileInfo; Dummy: DWORD; V1, V2, V3, V4: Word;begin VerInfoSize := GetFileVersionInfoSize(PChar(FileName), Dummy); if VerInfoSize = 0 then begin Dummy := GetLastError; Result := '0'; end; GetMem(VerInfo, VerInfoSize); GetFileVersionInfo(PChar(FileName), 0, VerInfoSize, VerInfo); VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize); with VerValue^ do begin V1 := dwFileVersionMS shr 16; V2 := dwFileVersionMS and $FFFF; V3 := dwFileVersionLS shr 16; V4 := dwFileVersionLS and $FFFF; end; Result := IntToStr(V1) + '.' + IntToStr(V2) + '.' + IntToStr(V3) + '.' + IntToStr(V4); FreeMem(VerInfo, VerInfoSize);end;窗体加载时候var fn:string ;begin fn:=GetBuildInfo(ExtractFilePath(Application.ExeName) + '\Lib\wms_billUseOutRp.xlp');//因为是A.EXE主程序调用 \Lib\wms_billUseOutRp.xlp //////////// 窗体加载 cxPropertiesStore1.StorageName := 'c:\wms_billUseOutRp.' + fn + '.ini'; cxPropertiesStore1.StorageType := stIniFile; cxPropertiesStore1.Active := True; cxPropertiesStore1.RestoreFrom; cxPropertiesStore1.Active := False; /////////////////////// 窗体关闭保存 cxPropertiesStore1.Active := True; cxPropertiesStore1.StoreTo(True); cxPropertiesStore1.Active := False;///////////////////////////////// delphi隐藏进程 lineto()方法所画的线如何相应鼠标事件? 送分小问题,不过比较急:由Tmemo向外,连续写txt的问题。此帖将速结 socketconnection问题,请各位帮帮忙。 有关程序发布的问题,请高手指点 如何在两个程序中相互切换? 高手指点,关于线程!!!! 如何去掉Dbgrid所联数据表记录为空时显示的那一讨厌的空白行? 标准Lable怎么换行?? FOXBASE-FOXPRO-VFP-DEPHI 重发!csdn验证码问题! delphi自带数据库操作
var
VerInfoSize: DWORD;
VerInfo: pointer;
VerValueSize: DWORD;
VerValue: PVSFixedFileInfo;
Dummy: DWORD;
V1, V2, V3, V4: Word;
begin
VerInfoSize := GetFileVersionInfoSize(PChar(FileName), Dummy);
if VerInfoSize = 0 then
begin
Dummy := GetLastError;
Result := '0';
end;
GetMem(VerInfo, VerInfoSize);
GetFileVersionInfo(PChar(FileName), 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
with VerValue^ do begin
V1 := dwFileVersionMS shr 16;
V2 := dwFileVersionMS and $FFFF;
V3 := dwFileVersionLS shr 16;
V4 := dwFileVersionLS and $FFFF;
end;
Result := IntToStr(V1) + '.' + IntToStr(V2) + '.' + IntToStr(V3) + '.' + IntToStr(V4);
FreeMem(VerInfo, VerInfoSize);
end;窗体加载时候
var
fn:string ;
begin
fn:=GetBuildInfo(ExtractFilePath(Application.ExeName) + '\Lib\wms_billUseOutRp.xlp');
//因为是A.EXE主程序调用 \Lib\wms_billUseOutRp.xlp
//////////// 窗体加载
cxPropertiesStore1.StorageName := 'c:\wms_billUseOutRp.' + fn + '.ini';
cxPropertiesStore1.StorageType := stIniFile;
cxPropertiesStore1.Active := True;
cxPropertiesStore1.RestoreFrom;
cxPropertiesStore1.Active := False;
///////////
//////////// 窗体关闭保存
cxPropertiesStore1.Active := True;
cxPropertiesStore1.StoreTo(True);
cxPropertiesStore1.Active := False;
/////////////////////////////////