小编par*_*ise的帖子

函数应该返回记录还是指针?

假设我有一个"重"记录,例如包含多个动态值数组.我这样声明:

PMyHugeRecord^ = TMyHugeRecord;
TMyHugeRecord = record
  AFirstArray: TSingleDynArray;
  // many many others
  ...  
  ALastArray: TSingleDynArray;
end;
Run Code Online (Sandbox Code Playgroud)

处理发生在函数中,是否应该将函数的结果键入为指针,还是可以返回记录变量?

function MyFunctionWhichCalculates: TMyHugeRecord;
// or
function MyFunctionWhichCalculates: PMyHugeRecord;
Run Code Online (Sandbox Code Playgroud)

我的意思是在性能方面,尤其是避免堆栈溢出.换句话说,函数是通过引用还是通过值返回结果?

delphi delphi-2007

3
推荐指数
1
解决办法
904
查看次数

如何替换空的 except 块?

浏览一些遗留代码,我遇到一些“空”的 except 块。它们都是出于类似的原因而实现的,即处理从 TEdit 中的文本到数值的转换。由于 TEdit 可能为空,因此在这种情况下不应出现错误消息:

procedure TmyForm.EditExit(Sender: TObject);
begin
  ...  
  try
    _value := StrToFloat(Edit.Text);
  except
  end; 
  ...
end;
Run Code Online (Sandbox Code Playgroud)

这很有效,但我想这并不是一个好的做法。有没有更好的方法来获得相同的行为?

delphi exception try-except

2
推荐指数
1
解决办法
677
查看次数

标签 统计

delphi ×2

delphi-2007 ×1

exception ×1

try-except ×1