在执行的过程中总是提示内存不能read。我头都晕了!异常无法扑捉到。procedure TFSee.N2Click(Sender: TObject);
Var
FileName:String;
Fp:File Array Byte;
SizeFile:Integer;
Buffer:Array Of Byte;
Place,Cd,Index,MaxRow:Integer;
begin
If OD.Execute Then
Begin
FileName:=OD.FileName;
FSee.Caption:=Od.FileName;
End
Else
Begin
ShowMessage('打开文件错误!');
Exit;
End;
If Not FileExists(FileName) Then
Begin
ShowMessage('不存在的文件!');
Exit;
End;
AssignFile(Fp,FileName);
ReSet(fp);
SizeFile:=FileSize(Fp);
StatusBar1.Panels.Items[1].Text:=IntToStr(SizeFile);
Memo1.Lines.Clear;
SetLength(Buffer,SizeFile);
BlockRead(Fp,Buffer[0],SizeFile);
If Memo1.Width Mod 35<>0 Then
Begin
Memo1.Width:=Memo1.Width Div 35+35;
End;
For Place:=0 To SizeFile-1 Do
Begin
Application.ProcessMessages;
StatusBar1.Panels.Items[3].Text:=IntToStr(Place+1);
Try
TempStr:=IntToStr(Buffer[place])+' ';
Except
ShowMessage(IntToStr(Place)+':'+IntToStr(SizeFile))
End;
Try
Memo1.Text:=Memo1.Text+TempStr;
Except
ShowMessage('转换为字符串出错!');
End;
End;//Fof Index:=0 To Cd-1 Do
Try
SetLength(Buffer,0);
CloseFile(fp);
Except
ShowMessage('关闭文件出错!');
End;
end;
Var
FileName:String;
Fp:File Array Byte;
SizeFile:Integer;
Buffer:Array Of Byte;
Place,Cd,Index,MaxRow:Integer;
begin
If OD.Execute Then
Begin
FileName:=OD.FileName;
FSee.Caption:=Od.FileName;
End
Else
Begin
ShowMessage('打开文件错误!');
Exit;
End;
If Not FileExists(FileName) Then
Begin
ShowMessage('不存在的文件!');
Exit;
End;
AssignFile(Fp,FileName);
ReSet(fp);
SizeFile:=FileSize(Fp);
StatusBar1.Panels.Items[1].Text:=IntToStr(SizeFile);
Memo1.Lines.Clear;
SetLength(Buffer,SizeFile);
BlockRead(Fp,Buffer[0],SizeFile);
If Memo1.Width Mod 35<>0 Then
Begin
Memo1.Width:=Memo1.Width Div 35+35;
End;
For Place:=0 To SizeFile-1 Do
Begin
Application.ProcessMessages;
StatusBar1.Panels.Items[3].Text:=IntToStr(Place+1);
Try
TempStr:=IntToStr(Buffer[place])+' ';
Except
ShowMessage(IntToStr(Place)+':'+IntToStr(SizeFile))
End;
Try
Memo1.Text:=Memo1.Text+TempStr;
Except
ShowMessage('转换为字符串出错!');
End;
End;//Fof Index:=0 To Cd-1 Do
Try
SetLength(Buffer,0);
CloseFile(fp);
Except
ShowMessage('关闭文件出错!');
End;
end;
解决方案 »
- 请教一个多文档窗口显示的问题?
- 如何跳出多层深入的所有过程?
- 有能提供delphi7中Rave Report 5 的使用教程?
- 谁能帮我测试和调试这段代码!
- 我想在DataSourceDataChange中写代码,来判断当某一字段的值输入为1时,我想让另一个字段显示!
- 即时更新问题
- TADodataset的更新当前记录的方法
- 关于读卡器的问题
- Delphi刚入门,急求好书
- 各位高手大侠:dll参数与返回值设为pchar后转换的问题,请大家帮忙挑挑错误!
- 如何将数据库的日期字段用DateTimePicker显示出来,并将DateTimePicker修改的日期写入数据库中
- 如何把shbrowseforfolder的列表"COPY"到TreeView或ListView框中?
要调试程序,请单击取消。但是程序仍然可以运行!(在delphi下是跳出一个调试窗体标题为CPU内容如下:)指令地址跳到了004023cc 8B10 Mov edx,[eax]
except
没有必要写那么多吧。你将for语句中执行的内容一开始就try,最后才except捕获异常。
单步执行看出错再哪里啊
except
没有必要写那么多吧。你将for语句中执行的内容一开始就try,最后才except捕获异常。
单步执行看出错再哪里啊