首页 > 编程语言 >C#调用c回调遇到的一个报错

C#调用c回调遇到的一个报错

时间:2022-08-14 12:55:42浏览次数:58  
标签:调用 委托 C# tIMRecvNewMsgCallback IM 报错 TIMRecvNewMsgCallback

托管调试助手 "CallbackOnCollectedDelegate":“对“WpfApp2!WpfApp2.IM_Callback+TIMRecvNewMsgCallback::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。”

委托被GC给自动回收了,然后再调用的时候程序就崩了,解决方法,将委托定义为全局

原代码:

public void Login(string user)
{
IM.TIMAddRecvNewMsgCallback(TIMRecvNewMsgCallback, IntPtr.Zero);
}

修改后代码

IM_Callback.TIMRecvNewMsgCallback tIMRecvNewMsgCallback = null;

public void Login(string user)
{
tIMRecvNewMsgCallback = TIMRecvNewMsgCallback;
IM.TIMAddRecvNewMsgCallback(tIMRecvNewMsgCallback , IntPtr.Zero);
}

标签:调用,委托,C#,tIMRecvNewMsgCallback,IM,报错,TIMRecvNewMsgCallback
From: https://www.cnblogs.com/GongYao/p/16585245.html

相关文章

  • tesseract-ocr 安装、语言库、使用 随记
    前几日才听说ocr的图片识别功能。觉得很有意思。先体验一下。地址: GitHub-tesseract-ocr/tesseract:TesseractOpenSourceOCREngine(mainrepository)1.下载exe......
  • 【Python】【Pycharm】新建项目/工程/新环境/继承全局包/New environment using/inher
    1、不勾选inheritglobalsite-packages  2、【推荐】勾选inheritglobalsite-packages ......
  • Vulnhub | DC-1
    靶场地址https://www.vulnhub.com/entry/dc-1,292/信息搜集探查IP因为下载的镜像打开是一个登录界面,无法知道它的IP地址,所以这里需要借助一下VMware的特性,查看网络适......
  • 攻防世界 | Web-ics-05
    题目描述其他破坏者会利用工控云管理系统设备维护中心的后门入侵系统打开题目先进来随便点点看看有什么功能 除了“设备维护中心”,其他都没反应,对应了题目,那么应......
  • 攻防世界 | Web-Cat
    本题涉及到的知识点有很多:1.cURL的post文件上传2.php的curl上传组件3.python的字符编码4.django的框架知识解题步骤 先按照它的要求随便输入一个域名: 是一......
  • Vulfocus靶场 | empirecms 文件上传 (CVE-2018-18086)
    漏洞描述EmpireCMS(帝国网站管理系统)是一套内容管理系统(CMS)。EmpireCMS7.5版本中的e/class/moddofun.php文件的‘LoadInMod’函数存在安全漏洞。攻击者可利用该漏洞上传......
  • Vulfocus靶场 | discuz!ML 代码执行 (CVE-2019-13956)
    漏洞描述该漏洞存在discuzml(多国语言版)中,cookie中的language可控并且没有严格过滤,导致可以远程代码执行。漏洞影响版本Discuz!MLV3.2Discuz!MLV3.3Discuz!......
  • lightdb create table/index指定表空间
    一般来说,现在为了各司其职,都把硬盘做成了san,raid,至少lvm。但是仍然有一些用户希望可以指定表空间和索引。在lightdb里面也支持该特性。如下:lightdb@postgres=#createta......
  • 【Javascript小知识点】将对象中内容打印到控制台
    将对象中内容打印到控制台    有时结果打印到控制台却显示为[objectObject]。我们想查看其中的内容时,怎么也看不到,这样会把我们急死,非常的危险。于是,我们可以使用J......
  • After Effects 教程,如何在 After Effects 中选择连续排列的多个图层?
    欢迎观看AfterEffects中文版教程,小编带大家学习AfterEffects的基本工具和使用技巧,了解如何在AE中选择连续排列的多个图层。AfterEffects中正在处理的合成是一款......