最近在调试海康SDK时,遇到了标题写的这个错误。
A callback was made on a garbage collected delegate of type 'XXX.CHCNetSDK+RemoteConfigCallback::Invoke'.
Visual Studio 调试模式下,显示 你的应用进入了中断状态,但当前未执行任何受选定调试引擎支持的代码(例如,仅在执行本机运行时代码)。
和 “System.ExecutionEngineException”类型的未经处理的异常在 未知模块。 中发生
,完全无法看出问题的原因。
后查到 https://stackoverflow.com/questions/44546875/getting-the-error-a-callback-was-made-on-a-garbage-collected-delegate-of-type,了解到是因为在调用海康SDK时,传入了一个回调函数,此回调函数会在调用完SDK时自动释放掉,所以SDK在回调过程中报错。
知道了原因,就好修改了,声明一个全局的委托变量来作为回调函数就可以了。
fs.readlink(path, [callback(err,linkString)])
由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) )
接收参数:
path 路径
callback 回调,传递2个参数,异常err 和 linkString返回的链接字符串
代码如下:
fs.readlink = function(path, callback) {
callback = makeCallback(callback);
if (!nullChe
fs.appendFile(filename, data, [options], callback)
由于该方法属于fs模块,使用前需要引入fs模块(var fs = require(“fs”) )
接收参数:
1. filename {String}
2. data {String | Buffer}
3. options {Object}
encoding {String | Null} default = ‘utf8′
由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) )
接收参数:
fd 文件open时传递的文件描述符。
callback 回调
代码如下:
var fs = require(‘fs’);
fs.open(‘/path/demo1.txt’, ‘a’, function (err, fd) {
if (err) {
throw err;
fs.fu
fs.symlink(srcpath, dstpath, [type], [callback(err)])
由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) )
接收参数:
srcpath 为源目录或文件的路径
dstpath 它是存放转换后的目录的路径,默认为当前工作目录
type 默认值:’file’ , 可选值 ‘dir’, ‘file’, 或者 ‘junction’ ,该项仅用于Windo
开启语音对讲前所需步骤参考参考前一篇文章【海康威视】WPF客户端二次开发:【1】监控视频画面预览(SDK初始化、设备登录、监控画面预览)
本篇重点讲解在进行语音对讲开发时遇到的深坑;
二、开启语音对讲
1、基础流程:
SDK初始化; 2、海康设备登录; 3、设备预览; 4、开启语音对讲功能即可:
2、核心代码:
//语音对讲回调函数封装
VOICED
【react-native】0.57版本打包报错:Could not resolve all files for configuration ':app:releaseCompileClasspath
16638