防身用什么武器好:[Fatal Error] Internal error: URW3959 的解决办法

来源:百度文库 编辑:九乡新闻网 时间:2024/05/04 16:52:57

[Fatal Error] Internal error: URW3959 的解决办法

[Fatal Error] Internal error: URW3959 的解决办法

只要修改一下单元文件就出现 urw3959 错误了,要删除所有 dcu 文件才行,或者重新build一下才行. 但之后只要单元一改动,马上又出现URW3959错误了,怎么办?

原因:  如果一个单元使用了过程变量或函数变量,且参数中有默认值,就会报这个错, 如下:
procedure FooProc;
var
  p: procedure(AValue: Integer = 0);
begin
//
end;

解决办法:
把上面的定义,改成下面这样的格式:
type
  TFooProc = procedure(AValue: Integer = 0);

procedure FooProc;
var
  p: TFooProc;
begin
//
end;