stdcall的函数如何调用本单元的属性和方法?

ty8745 2018-10-12 09:25:04

unit Client;

interface

uses
Classes, windows, SysUtils, Forms, HPTypeDef, HPSocketSDKUnit;

type
Bootstrap = class
Input: TMemoryStream;

private

public


end;

implementation
function OnReceive(pSender: HP_Client; dwConnID: HP_CONNID;
const pData: Pointer; iLength: Integer): En_HP_HandleResult; stdcall;
begin

// Input.Write(pData^, iLength); 这里如何才能调用到Bootstrap类中的Input属性呢?

Result := HR_OK;
end;


我想要OnReceive函数调用到Bootstrap类中的input属性,请问如何调用?
...全文
127 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlueStorm 2018-10-13
  • 打赏
  • 举报
回复


unit Client;

interface

uses
  Classes, windows, SysUtils, Forms, HPTypeDef, HPSocketSDKUnit;

type
  TBootstrap = class
  private
    Input: TMemoryStream; //调整到这里。如果是在不同的单元使用Input, 要放到Public下面
  public

  end;

var
  Bootstrap: TBootstrap;

implementation

function OnReceive(pSender: HP_Client; dwConnID: HP_CONNID;
  const pData: Pointer; iLength: Integer): En_HP_HandleResult; stdcall;
begin
  Bootstrap.Input.Write(pData^, iLength);
  Result := HR_OK;
end;

initialization
  Bootstrap := TBootstrap.Create(nil);

finalization
  Bootstrap.Free;

end.
BlueStorm 2018-10-13
  • 打赏
  • 举报
回复

unit Client;

interface

uses
  Classes, windows, SysUtils, Forms, HPTypeDef, HPSocketSDKUnit;

type
  TBootstrap = class
    Input: TMemoryStream;
  private

  public

  end;

var
  Bootstrap: TBootstrap;

implementation

function OnReceive(pSender: HP_Client; dwConnID: HP_CONNID;
  const pData: Pointer; iLength: Integer): En_HP_HandleResult; stdcall;
begin
  Bootstrap.Input.Write(pData^, iLength);
  Result := HR_OK;
end;

initialization
  Bootstrap := TBootstrap.Create(nil);

finalization
  Bootstrap.Free;

end.

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧