3.回調函數一律聲明成成員變量
例 如:
//將委托聲明為成員變量!!
STREAM_DIRECT_READ_CALLBACK sdrc;
/// <summary>
/// 預覽並客戶端連接
/// </summary>
private void PreviewAndClIEntConnect()
{
sdrc = new STREAM_DIRECT_READ_CALLBACK(STREAM_DIRECT_READ_CALLBACK1);
//[必須]注冊編碼圖像數據流直接讀取回調函數
HikVisionSDK.RegisterStreamDirectReadCallback(sdrc, this.Handle);
}
4.調用委托 出錯
一般委托出錯有三種情況:
4.1 參數類型和api的類型沒有對應上,比如他是char*你給對應的是IntPtr, 有可能就會出錯
4.2 委托沒有聲明成成員變量,前面已經強調過很多次也給了文章,這裡就不復述了。
4.3 可能報錯說內存 已經被收回之類的,你在委托上叫一個這樣的標記:[UnmanagedFunctionPointer(CallingConvention.Cdecl)]。
結束
可能還有 其他地方需要注意的,這需要你自己細心的對比查看和搜索相關資料,仍然要祝你順順利利!本帖再後續的工作中會持續更新,請大家留意!