这样是可以的。
procedure TForm1.Button3Click(Sender: TObject);
var
F: File;
lSz, lAllocSz: integer;
MyBuffA: array [0..800] of char;
begin
AssignFile(F, ExtractFilePath(Application.ExeName) + '\test.dcm');
Reset(F, 1);
BlockRead(F, MyBuffA, 800);
CloseFile(F);
end;这样就不行。。
procedure TForm1.BtnAreaClick(Sender: TObject);
var
F: File;
lSz, lAllocSz: integer;
MyBuffA: array of char;
begin
SetLength(MyBuffA, 800);
AssignFile(F, ExtractFilePath(Application.ExeName) + '\test.dcm');
Reset(F, 1);
BlockRead(F, MyBuffA, 800);
CloseFile(F);
end;可是这个字符数组的长度是不固定的呀,
可是用完了SetLenth以后,程序也能执行,
但是报地址错,为什么呢?指点一二。。
procedure TForm1.Button3Click(Sender: TObject);
var
F: File;
lSz, lAllocSz: integer;
MyBuffA: array [0..800] of char;
begin
AssignFile(F, ExtractFilePath(Application.ExeName) + '\test.dcm');
Reset(F, 1);
BlockRead(F, MyBuffA, 800);
CloseFile(F);
end;这样就不行。。
procedure TForm1.BtnAreaClick(Sender: TObject);
var
F: File;
lSz, lAllocSz: integer;
MyBuffA: array of char;
begin
SetLength(MyBuffA, 800);
AssignFile(F, ExtractFilePath(Application.ExeName) + '\test.dcm');
Reset(F, 1);
BlockRead(F, MyBuffA, 800);
CloseFile(F);
end;可是这个字符数组的长度是不固定的呀,
可是用完了SetLenth以后,程序也能执行,
但是报地址错,为什么呢?指点一二。。
解决方案 »
- 在adoquery结果集中去除某条记录,但要求不影响数据库中记录
- 格式转换
- 小问题
- 【求助】请问如何根据在一个文本框里输入的字符串动态建立一个同名的ADOQuery? 谢谢
- 用了ADO组件后当制作安装程序时至少要选哪几个动态库呀?
- 如何动态新建一个按钮,再把它显示在form上呢?
- 哪有好的DELPHI的书
- 在线程中调用ADOQuery.Location出错”Undeclared Identifier :loCaseInsensitive“?
- 讨论:关于线程同步
- 我是继续留在这里呢?还是是跳槽呢!
- 一个超简单问题,不知道有几个大侠能回答上来!能答出的全部给分!明天中午结!
- 多用户操作时,如何得到为一序号?
->
BlockRead(F, @MyBuffA[0], 800);
编译不能通过。BlockRead(F, MyBuffA[0], 800);
和原来的一样。
还是出错。。
BlockRead(F, (@MyBuffA[0])^, 800);
还是报地址错呀,,,你能帮我调试一下吗??谢谢了。。
能稍微讲解一下
BlockRead(F, (@MyBuffA[0])^, 800);
与
BlockRead(F, MyBuffA, 800);
的区别吗?MyBuffA不也是字符指针吗?