小编lui*_*x10的帖子

SendMessage到Application.Handle无法正常工作

我已经创建了一个类,当它将被释放时,它应该向整个应用程序传播一个自定义消息.我做到了PostMessage,它只有几个错误

PostMessage(Application.Handle, UM_MYMESSAGE, 0, 0);
Run Code Online (Sandbox Code Playgroud)

然后我意识到它应该是同步的 - 通过SendMessage.

SendMessage(Application.Handle, UM_MYMESSAGE, 0, 0);
Run Code Online (Sandbox Code Playgroud)

在我的表单上,我使用TApplicationEvents组件处理消息,但只是切换SendMessagePostMessage没有使它处理消息

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
  if Msg.message = UM_MYMESSAGE then
  begin
    ShowMessage('Ok');

    Handled := True;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

如果我通过表格处理但没有合作,它可以工作Application.Handle......我做错了什么?

delphi postmessage sendmessage

0
推荐指数
1
解决办法
647
查看次数

Delphi 中用于 StringList 中所有匹配行的正则表达式

我正在构建一个具有自定义自动完成功能的组件,但有时它变得太慢了......我不知道为什么,但我敢打赌是因为我在代码中做的循环。

为了避免循环,我试图弄清楚如何一次在整个 TStringList 中使用正则表达式,但没有成功,我不确定要使用哪些类或如何正确安装表达式本身

有人可以帮我转换这段代码吗?

FHookTo 是一个 ComboBox,当前表达式是 ^(?=. NOTIFICAÇÃO. ).*$

if (FHookTo.Text <> '') then
begin
  for i := 0 to FStoredItems.Count-1 do
  begin
    if TRegEx.IsMatch(FStoredItems[I], Expression, [roIgnoreCase]) then
      FHookTo.Items.Add(FStoredItems[I]);
  end;
end
Run Code Online (Sandbox Code Playgroud)

regex delphi

-1
推荐指数
1
解决办法
177
查看次数

标签 统计

delphi ×2

postmessage ×1

regex ×1

sendmessage ×1