我有一个可以运行很长时间扫描数据库的应用程序.
在此过程中,我通过使用processmessage使我的程序保持响应.
当我的进度条更新并且被包含时,将触发此流程消息.
大多数情况下都可以正常工作,但是当数据库变大时,进度条上升1%需要更长的时间,程序在此之前就会无响应.
除了流程消息之外,还有另一种让我的程序保持活力的方法吗?
我希望通过将TGUID放入其中来使用TTreeNode的Data(指针)属性.有人知道如何实现这个目标吗?
这是代码的一部分,可能会帮助你们了解我正在尝试做什么.
if Assigned(trNode) then
begin
trNode := tvMain.Items.Add(trNode, dmMain.qryTreeView.FieldByName('SomeColumn').Text);
gID := StringToGUID(dmMain.qryTreeView.FieldByName('ID').Text);
trNode.Data := //how do I do this?
Run Code Online (Sandbox Code Playgroud) 在某个时刻发生EOleSysError,该异常的错误代码是HRESULT.有没有办法可以将HResult转换回错误代码或字符串?
这goto句话是我工作的禁忌.
所以出现以下问题......
是否有可能a goto是唯一有效的解决方案?