我只保留了自动生成表单中的主要表单,并删除了其余表单。基本上,我使用以下方式调用这些表单: TMyForm.Create(Self).Show; 但是当我的工作使用这个表单完成后,我应该用最好的方式释放这个表单所使用的资源?我查阅了Free,Action.CaFree,Destroy,F...
如果我想替换一个VCL组件TXxx,我应该基于TXxx还是TCustomXxx来创建我的组件? 我想制作各种文本编辑组件的插件替代品(TEdit,TMemo等),以具有WM_PASTE处理程序,以对非常挑剔的后端进行输入清理,只接受基本上只有7位ASCII可打印字形、空格和CR / LF对....
据我所知,如果您同步代码,TThread类的方法实际上会在主应用程序线程中执行(就像计时器/按钮单击等一样)。 我一直在尝试并注意到MessageBox不会阻塞主应用程序,但是sleep确实会按预期阻塞。为什么会这样呢? type TTestThread = class(TThread)...
我有一个包含三个主要组件的表单: 一个FlowPanel,设置为Align to Client 第二个FlowPanel,设置为Align to Bottom 一个StatusBar,设置为Align to Bottom。 一切都开始看起来很好。但是,对齐到底部的FlowPanel也设...
我需要根据列表中是否选择至少一行来启用或禁用按钮。 以下是重现此问题的代码。使用 OnData 事件填充列表,并允许选择多个行。 我认为可以使用 OnSelectItem 检测用户更改选择时,然后使用 TListView SelCount 函数检测所选行数。 问题在于,当用户选择多个行时...
以下代码在Delphi 7中运行正常。然而,在Delphi 2009中,窗体仍然隐藏,但任务栏上的按钮现在出现了。 ShowWindow(Handle, SW_HIDE); SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GW...