Skip to content
Jiowcl edited this page Dec 29, 2021 · 4 revisions

Msg

Init Data Callback Function

; ZmqFreeFnProc
Procedure ZmqFreeFnProc(vData.i, vHint.i)
  Debug "vData: " + PeekS(vData, -1, #PB_UTF8)
  Debug "vHint: " + vHint
EndProcedure

Msg Init

EnableExplicit

IncludeFile "../Core/ZeroMQ.pbi"

Global lpszLibZmqDll.s = "libzmq.dll"

Global hLibrary.i = ZmqDllOpen(lpszLibZmqDll)

If hLibrary
  Define vMsg.ZmqMsgT
    
  ZmqMsgInit(hLibrary, vMsg)
  ZmqMsgClose(hLibrary, vMsg)

  ZmqDllClose(hLibrary)
EndIf

Msg InitData

EnableExplicit

IncludeFile "../Core/ZeroMQ.pbi"

Global lpszLibZmqDll.s = "libzmq.dll"

Global hLibrary.i = ZmqDllOpen(lpszLibZmqDll)

Procedure ZmqFreeFnProc(vData.i, vHint.i)
EndProcedure

If hLibrary
  Define vMsg.ZmqMsgT
  Define *vData = AllocateMemory(7)

  PokeS(*vdata, "User-Id", 7, #PB_UTF8)
  
  ZmqMsgInitData(hLibrary, vMsg, *vData, 7, @ZmqFreeFnProc(), 0)
  ZmqMsgClose(hLibrary, vMsg)
EndIf

Msg Init (ZMQ Wrapper)

EnableExplicit

IncludeFile "../Core/ZeroMQ.pbi"
IncludeFile "../Core/ZeroMQWrapper.pbi"

UseModule ZeroMQWrapper

Global lpszLibZmqDll.s = "libzmq.dll"

If DllOpen(lpszLibZmqDll)
  Define vMsg.ZmqMsgT
  
  ZmqMsg::Init(vMsg)
  ZmqMsg::Close(vMsg)

  DllClose()
EndIf

Msg InitDara (ZMQ Wrapper)

EnableExplicit

IncludeFile "../Core/ZeroMQ.pbi"
IncludeFile "../Core/ZeroMQWrapper.pbi"

UseModule ZeroMQWrapper

Global lpszLibZmqDll.s = "libzmq.dll"

Procedure ZmqFreeFnProc(vData.i, vHint.i)
EndProcedure

If DllOpen(lpszLibZmqDll)
  Define vMsg.ZmqMsgT
  Define *vData = AllocateMemory(7)

  PokeS(*vdata, "User-Id", 7, #PB_UTF8)
  
  ZmqMsg::InitData(vMsg, *vData, 7, @ZmqFreeFnProc(), 0)
  ZmqMsg::Close(vMsg)

  DllClose()
EndIf
Clone this wiki locally