Function ReadSerials(FileName:String):String;
var
S_File:File of TSerial;
Str:TSerial;
begin
Result:='';
if not FileExists(FileName) then
Exit;
{$I-}
AssignFile(S_File,FileName);
Reset(S_File);
BlockRead(S_File,Str,Sizeof(Str));
CloseFile(S_File);
{$I+}
Result:=Str.Serial ;
end;
我一调用该函数,就会出以下错误:
access violation at 0x00425350:write of address 0x00456650
var
S_File:File of TSerial;
Str:TSerial;
begin
Result:='';
if not FileExists(FileName) then
Exit;
{$I-}
AssignFile(S_File,FileName);
Reset(S_File);
BlockRead(S_File,Str,Sizeof(Str));
CloseFile(S_File);
{$I+}
Result:=Str.Serial ;
end;
我一调用该函数,就会出以下错误:
access violation at 0x00425350:write of address 0x00456650
解决方案 »
- ASP为什么无法正常调用ACTIVEX中的过程?
- 如何取得某个扩展名对应的文件图标。
- 高手们到哪里下载漂亮的按钮控件呢?
- 初学delphi,有点迷茫
- EPSON LQ300打印票据——在线等待,马上给分
- 现在算算学delphi快一年了,还是皮毛
- 关于报表的简单问题?
- 为什么动态指定 DCOMConnection1.ComputerName 会出错! 而静态则没有错呢! 有人碰到过此问题吗!
- ADO中的问题?
- 为什么在vb里使用的ocx控件到了delphi里就不行了呢?
- 求教高手指点:Client为什么不能打开激活,十万火急,谢谢各位了,代码如下。
- 如何使用Tquery把图片保存到Oracle的Blob字段中?
它们可都是空指针啊。
是Str有没有实例化,S_File你已经Assign了。
TSerial=Record
Serial:String[25];
end;
这也要实例化?
var
S_File:File of TSerial;
Str:TSerial;
begin
Result:='';
if not FileExists(FileName) then
Exit;
{$I-}
AssignFile(S_File,FileName);
Reset(S_File);
Read(S_File,Str); //***********
CloseFile(S_File);
{$I+}
Result:=Str.Serial;
end;
可是这不是我要的结果。
BlockRead的速度快,我要用它!!!