NetCom7 聊天演示

问题描述 投票:0回答:1

我正在尝试让 NetCom7 聊天演示正常工作。

在 Git 中,它说:

您实现了 OnHandleCommand 事件处理程序,并且, 根据 aCmd 参数(整数),您响应以下结果 通过将 OnHandleCommand 的 Result 设置为 任何你喜欢的东西(TBytes)。

这在代码中看起来如何?我目前在名为 Server 的 ChatServer.exe ufrmMain.pas 文件上有一个 TncServerSource 组件。

我尝试了以下行:

Server.OnHandleCommand()

虽然我不明白参数是什么。

delphi tcp firemonkey rad-studio
1个回答
0
投票

OnHandleCommand 是一个属性,用于存储对事件方法的引用,该事件方法将在收到命令时触发。

它的工作方式与 Delphi 中的任何其他事件非常相似。因此,如果您在设计时将服务器组件放置在表单上,您就可以从对象检查器中分配合适的事件方法,就像任何其他标准 Delphi 事件一样。

如果您要从代码动态创建服务器组件,则需要设置

OnHandleCommand
属性以引用合适的事件方法。所述事件方法必须是格式与
TncOnSourceHandleCommand
匹配的对象方法,在
ncSources.pas
单元中定义为:

TncOnSourceHandleCommand = function(

Sender: TObject; aLine: TncLine;

aCmd: Integer; const aData: TBytes; aRequiresResult: Boolean;

const aSenderComponent, aReceiverComponent: string): TBytes of object;

例如,您形成私有部分,定义下一个函数

private
  function ServerOnHandleCommandEvent(Sender: TObject; aLine: TncLine; aCmd: Integer; const aData: TBytes; aRequiresResult: Boolean; const aSenderComponent, aReceiverComponent: string): TBytes of object;

创建服务器组件后,您可以使用以下方法将此函数分配给

OnHandleCommand
属性:

Server.OnHandleCommand := MyForm.ServerOnHandleCommandEvent;

这是在运行时从代码分配 Delphi 事件的标准方法,而不是在设计时分配它们

最后,您只需在

ServerOnHandleCommandEvent
方法中编写正确的代码即可正确处理接收到的命令。

由于我从未使用过这个库,所以恐怕我无法在这里向您展示任何具体示例。但是我看到这个库附带了一些演示,因此您可能需要检查这些演示以供进一步参考。

© www.soinside.com 2019 - 2024. All rights reserved.