我不懂得应该怎样设置入参,请帮帮忙,谢谢!
解决方案 »
- 怎样从表table1中随机选取5条记录显示出来?
- fastreport 报表问题
- 高手来!delphi 和sql2000中查询问题
- 怎样将Excel表导入数据库 给出好的程序 谢谢
- 当idtcpclient向idtcpserver发送数据时,服务器端如何获取客户端的Ip地址。。。
- 如何判断是来自哪个函数的啊?
- 请问哪里有 mscomm 控件下载
- 忙一早上,怎么就连不成SQL的存储过程?入门级问题,急 ...
- 结合TQuery类动态添加TCOMDOBOX的ITEMS问题~~
- delphi 多窗口问题!!我是新手,请多帮帮我?
- 请问一个关于指针的问题
- FOXPRO的OLEDB应该选哪一个作为提供者
VolumeInfoRecord = record
RootPathName: string;
VolumeName: string;
VolumeSerialNumber: string;
MaxComponentLength: DWORD;
FileSystemFlags: DWORD;
FileSystemName: string;
end;var
VolumeInfoRec: VolumeInfoRecord;
VolumeNameBuffer: PChar;
VolumeNameSize: DWORD;
FileSystemNameBuffer: PChar;
FileSystemNameSize: DWORD;
VolSerial: DWORD;
BufLen : DWORD;
RPName :String;
begin
RPName :='C:\'; //可自己修改
BufLen := MAX_PATH + 1;
GetMem(VolumeNameBuffer, BufLen);
GetMem(FileSystemNameBuffer, BufLen);
try
with VolumeInfoRec do begin
VolumeNameSize := BufLen;
FileSystemNameSize := BufLen; // Get volume info with no automatic error
SetErrorMode(SEM_NOOPENFILEERRORBOX);
if GetVolumeInformation(PChar(RPName),
VolumeNameBuffer,
VolumeNameSize,
@VolSerial,
MaxComponentLength,
FileSystemFlags,
FileSystemNameBuffer,
FileSystemNameSize) then begin
//
RootPathName := RPName;
VolumeName := StrPas(VolumeNameBuffer);
VolumeSerialNumber := IntToHex(HiWord(VolSerial), 4) + '-' +
IntToHex(LoWord(VolSerial), 4);
FileSystemName := StrPas(FileSystemNameBuffer);
finally
FreeMem(VolumeNameBuffer);
FreeMem(FileSystemNameBuffer);
end; // try
end;
我在编译是为什么老提示finally处出错,请问finally有什么用处?
finally
FreeMem(VolumeNameBuffer);
FreeMem(FileSystemNameBuffer);
的作用是无论前面的操作是否成功,最终都释放这两个变量占用的内存。因为这两个变量的内存是手动分配的,系统无法自动回收。