小编Mol*_*nik的帖子

Delphi Tokyo异常会阻止设置功能结果

发现Delphi Tokyo中的异常处理与以前的Delphi版本略有不同.

function FuncTest: integer;
begin
  Result := 1;
  try
    raise Exception.Create('Error Message');
  finally
    Result := 2;
  end;
end;

function Test:integer;
begin
  Result:=0;
  try
    Result:=FuncTest;
  finally
    ShowMessage(Result.ToString);
  end;
end;
Run Code Online (Sandbox Code Playgroud)

在早期的Delphi版本中,消息框显示"2",东京 - "0".这是一个东京错误还是不应该像这样处理异常?

delphi exception

15
推荐指数
1
解决办法
648
查看次数

如何使listview显示中心的特定项目?

是否有一种通用的方法将列表视图中的特定项目(例如1000中的500)放在其中心?现在我正在使用此代码:

lvData.Items[iIndex].MakeVisible(False);
Run Code Online (Sandbox Code Playgroud)

它很简单,但有一个缺陷 - 大部分所需的项目出现在列表视图的顶部或底部.是的我知道,手动滚动它并不是一件大事,但我使用它的方式(在图表上选择一个点并查看列表视图中附近点的值)会使这种行为有点不舒服.

delphi listview

4
推荐指数
1
解决办法
4316
查看次数

我还应该在 Delphi Alexandria 中使用 FastMM 吗?

我已经使用 FastMM 很长时间了,总是在所有 Delphi 项目中放置“FastMM4”。这对于最新的 Delphi 版本有意义吗?

delphi fastmm

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

Delphi应用程序运行

Application.Run过程调用一个处理Windows消息的无限循环:

  repeat
    try
      HandleMessage;
    except
      HandleException(Self);
    end;
  until Terminated;
Run Code Online (Sandbox Code Playgroud)

Terminated只能通过Application.Terminate发送PostQuitMesage的过程将该属性设置为true .我想更改消息处理循环,以便我可以使用全局变量直接停止它(不使用消息队列):

var MyTerminated:Boolean
....
  repeat
    try
      HandleMessage;
    except
      HandleException(Self);
    end;
  until Terminated or MyTerminated;
Run Code Online (Sandbox Code Playgroud)

问题是,是否可以使程序使用您自己的Application.Run版本?

delphi terminate

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

标签 统计

delphi ×4

exception ×1

fastmm ×1

listview ×1

terminate ×1