if inputquery('请输入字符串','输入',Str1) then
begin
StrStream:=TMemoryStream.Create;
StrStream.Position:=0;
StrStream.Write(Str1,length(str1));
StrStream.Position:=0;
StrStream.Read(Str,StrStream.Size);
messagedlg(str,mterror,[mbok],0);
StrStream.Free;
end;
如果我将StrStream、Str、Str1都定义成全局变量,那么运行时是没有问题的,但是如果我全定义成函数内部的变量,那么当运行到StrStream.free的时候就会出现问题:Access violation at address 00404504 in module'porject.exe'.Read of address 00013700.请问为什么会出现这个问题,能不能解决(变量要在函数内部定义)
begin
StrStream:=TMemoryStream.Create;
StrStream.Position:=0;
StrStream.Write(Str1,length(str1));
StrStream.Position:=0;
StrStream.Read(Str,StrStream.Size);
messagedlg(str,mterror,[mbok],0);
StrStream.Free;
end;
如果我将StrStream、Str、Str1都定义成全局变量,那么运行时是没有问题的,但是如果我全定义成函数内部的变量,那么当运行到StrStream.free的时候就会出现问题:Access violation at address 00404504 in module'porject.exe'.Read of address 00013700.请问为什么会出现这个问题,能不能解决(变量要在函数内部定义)
解决方案 »
- 菜鳥關於ReadInteger method (TRegIniFile)
- 能从Windows层面操作Delphi的ComboboxEx控件吗?
- 自动调用计算器,Word,Excel,怎么实现?
- 我的自动编号代码在出现在了问题??
- 如何在stringgrid的单元格焦点转换问题
- 送分但需要给出解答,在线等待,急急急!
- 关于DELPHI中选择打印机的问题,请高手帮忙,多多给分
- SOS,明天交货,28日走人。请问手动关闭excel后,再在程序里执行关闭操作的异常处理?
- DTS问题。两天了,怎么没人结贴??
- D7怎么播放云端amr格式音频文件
- 简单的TNMftp的问题,请各位帮忙解答
- 盖茨被暗杀了!?!?!??!?
begin
StrStream:=TMemoryStream.Create;
StrStream.Position:=0;
StrStream.Write(Str1,length(str1));
StrStream.Position:=0;
StrStream.Read(Str,StrStream.Size);
messagedlg(str,mterror,[mbok],0);
StrStream.Clear;//在这儿加一个clear就没问题了!
StrStream.Free;
end;
stream.write(len,sizeof(len));
if len > 0 then
stream.write(str[1],len);stream.postion := 0;
stream.read(len,sizeof(len));
if len > 0 then
steam.read(str[1],len);
var
Str1:string;
begin
if inputquery('请输入字符串','输入',Str1) then
messagedlg(str1,mterror,[mbok],0);
end;这样可以吗??为什么要用MemoryStream