DELPHI嵌套过程的调用由外部中转了一次后变量访问出错,请教如果写才对 1C
procedure c(Fun:pointer);
type F=procedure(s:string);
begin
    F(Fun)('c say test');
end;
procedure a();
var s1:string;
         procedure b(s:string);
        begin
          s1:=s;   //此处内存访问出错,请教,该如何改? 如果s1仍保持是a()的局部变量是否有其他方法解决?
        end;
begin
    c(@b);
        showmessage(s1);
end;

3个回答

type F=procedure(s:string);
这是过程,不是字符串,类型不匹配

是过程没错的呀 运行到s1=s这一步才出错的,这一步s的值也没错的呀!
b过程在a和c都能成功调用,但是变量访问出错问题是什么原因呢?

是过程没错的呀 运行到s1=s这一步才出错的,这一步s的值也没错的呀!
b过程在a和c都能成功调用,但是变量访问出错问题是什么原因呢?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问