C#处理C++库回调报错_非托管代码传递委托被垃圾回收
2010-06-05 08:07
260 查看
检测到 CallbackOnCollectedDelegate
Message: 对“HBVideoParser!Videocomm.Video.HB.HBSDK+SrcDataParseCBHandler::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。
[DllImport("...")]
public static extern bool HB_SDVR_SetParseCallBack(int lRealHandle, SrcDataParseCBHandler SrcDataParseCBFun, int nRseserved);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate void SrcDataParseCBHandler(int nChl, System.IntPtr SrcDataBuf, int nSize, int nFrameType, VIDEO_TIME ets, int user);
SrcDataParseCBHandler srcDataParseCBHandler ;
public int Start()
{
...
srcDataParseCBHandler = OnSrcDataParseCBHandler;
bool resb = HBSDK.HB_SDVR_SetParseCallBack(CookieID, srcDataParseCBHandler, CookieID);
...
}
public void OnSrcDataParseCBHandler(int nChl, System.IntPtr SrcDataBuf, int nSize, int nFrameType, VIDEO_TIME ets, int user)
{...}
Message: 对“HBVideoParser!Videocomm.Video.HB.HBSDK+SrcDataParseCBHandler::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。
[DllImport("...")]
public static extern bool HB_SDVR_SetParseCallBack(int lRealHandle, SrcDataParseCBHandler SrcDataParseCBFun, int nRseserved);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate void SrcDataParseCBHandler(int nChl, System.IntPtr SrcDataBuf, int nSize, int nFrameType, VIDEO_TIME ets, int user);
SrcDataParseCBHandler srcDataParseCBHandler ;
public int Start()
{
...
srcDataParseCBHandler = OnSrcDataParseCBHandler;
bool resb = HBSDK.HB_SDVR_SetParseCallBack(CookieID, srcDataParseCBHandler, CookieID);
...
}
public void OnSrcDataParseCBHandler(int nChl, System.IntPtr SrcDataBuf, int nSize, int nFrameType, VIDEO_TIME ets, int user)
{...}
相关文章推荐
- C#处理C++库回调报错_非托管代码传递委托被垃圾回收
- C#处理C++库回调报错_非托管代码传递委托被垃圾回收
- C#处理C++库回调报错_非托管代码传递委托被垃圾回收
- C#传递委托给C或C++库报错__对XXX类型的已垃圾回收委托进行了回调
- 类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们的问题的解决方法
- 《对“XXX::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们》的问题的解决方法
- 对“demo!demo.Index+HookProc::Invoke”垃圾收集的类型已委托回调。这可能会导致应用程序崩溃、损坏和数据丢失。当传递委托给非托管代码,托管应用程序必须让这些委托保持活着
- 对“demo!demo.Index+HookProc::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活
- 【C#】对“xxxx::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用。
- c# “XXX::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。
- 类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们的问题的解决方法 续集
- 对“XXX::Invoke”类型的已垃圾回收委托进行了回调
- .net CallbackOnCollectedDelegate 垃圾回收问题。 (Handle::Invoke”类型的已垃圾回收委托进行了回调。)
- .net CallBack::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩
- C# 调用 C++ DLL 中的委托,引发“对XXX::Invoke类型的已垃圾回收委托进行了回调”错误的解决办法
- C#:请向C++传递全局委托对象以用于回调
- Python引用复制,参数传递,弱引用与垃圾回收
- 在程序中调用C++链接库中的回调函由于没有考虑生命周期,直接写委托回随机的被gc给回收掉导致报这个错误
- 正在调用的委托被垃圾回收
- PHP5的对象传递和垃圾回收机制