private void ReturnUID(string uid) { if (this.InvokeRequired) { CloseCallBack cb = ReturnUID; Invoke(cb, uid); } else { this.DialogResult = DialogResult.OK; ResultingUID = uid; Close(); } }
public Include() { // Allocate object layout in memory // - 1 pointer to VTBL table // - following that the VTBL itself - with 2 function pointers for Open and Close methods NativePointer = Marshal.AllocHGlobal(IntPtr.Size * 3); // Write pointer to vtbl IntPtr vtblPtr = IntPtr.Add(NativePointer, IntPtr.Size); Marshal.WriteIntPtr(NativePointer, vtblPtr); _openCallback = new OpenCallBack(Open); Marshal.WriteIntPtr(vtblPtr, Marshal.GetFunctionPointerForDelegate(_openCallback)); _closeCallback = new CloseCallBack(Close); Marshal.WriteIntPtr(IntPtr.Add(vtblPtr, IntPtr.Size), Marshal.GetFunctionPointerForDelegate(_closeCallback)); }
public void setCloseCallBack(CloseCallBack closeCallBack) { _closeCallBack = closeCallBack; }
public void ShowWindow(CloseCallBack callBack, bool batchBuy = false) { this.closeCallBack = callBack; this.batchBuy = batchBuy; OpenView(); }