当前位置: 首页 > news >正文

LabVIEW中使用.NET方法时出现错误1316

LabVIEW中使用.NET方法时出现错误1316

为什么不能调用带有泛型参数的方法?

LabVIEW不支持哪些.NET功能?

为什么会收到以下错误:

发生此错误的原因是正在调用LabVIEW中不支持的.NET功能。有关解决方法,请参阅“其他信息”部分。可以在下面找到LabVIEW中不支持的.NET功能列表。

.NET2.0及更高版本

泛型—LabVIEW不提供实例化泛型类或调用泛型方法的机制。.NET构造函数节点和.NET调用节点不允许指定要替换泛型类型的类型。

异常:

LabVIEW可以实例化对象并调用在.NET程序集中定义的方法,这些程序集还包含泛型类型定义或泛型方法定义。但是,LabVIEW只能访问这些装配件中不使用通用功能的部分。

LabVIEW可以在内部实例使用泛型类或方法的.NET对象。

LabVIEW可以在内部调用使用泛型类或方法的.NET方法。

.NET4.0

进程内并行执行(仅适用于LabVIEW 2013之前的LabVIEW版本。单击此处查看如何在LabVIEW 2013及更高版本的LabVIEW中加载混合模式装配程序)—LabVIEW不能对以不同版本的CLR运行为的.NET程序集使用不同版本的.NET公共语言运行库(CLR)。相反,LabVIEW只对它在单个应用程序实例中加载的所有.NET程序集使用一个版本的CLR。LabVIEW使用以下规则来确定使用哪个已安装的CLR版本:

默认情况下,LabVIEW使用CLR2.0,它随.NET2.0、3.0和3.5一起安装。

如果创建了相应的应用程序配置文件,LabVIEW将使用CLR4.0。

要更改CLR LabVIEW使用的哪个版本,必须退出LabVIEW并添加或移除应用程序配置文件。有关更多信息,请参阅LabVIEW帮助(链接如下)中的在LabVIEW中加载.NET4.0装配主题。

动态关键字-.NET4.0引入了关键字,该关键字指定在运行时之前不会确定或强制实施关联数据类型。但是,LabVIEW要求.NET对象具有定义的类型,以便在.NETI nvoke Node中显示可用的方法。因此,尽管LabVIEW允许调用返回动态数据类型的.NET方法,但不能使用返回的数据来调用其他方法。

异常:LabVIEW可以成功调用内部使用动态数据类型的装配程序。

可选参数的默认值-.NET程序集可能包含允许可选参数的方法。反过来,可选参数具有默认值,如果调用方未为参数指定值,则方法将使用这些值。但是,当从LabVIEW调用具有可选参数的方法时,LabVIEW始终会为参数传递其自己的缺省值,而不是让方法使用其自己预配置的缺省值。

最后,NI不保证LabVIEW完全支持所有.NET4.0类库。在可能的下,NI建议在使用LabVIEW2之前的LabVIEW版本时,使用针对CLR0.4的装配程序,而不是CLR0.2013。

通常,如果要使用LabVIEW不支持的.NET功能,可以创建一个包装的.NET程序集,用于在内部访问不支持的功能。由于自己创建包装器程序集,所以可以将公开的类型和方法定义限制为LabVIEW支持的类型和方法定义。

英文版如下所示:

Solution

Thiserror occurs because you are calling a .NET feature that is unsupported inLabVIEW. Refer to the "Additional Information" section for aworkaround. You can find a list of .NET features that are unsupported inLabVIEW below.

.NET2.0 and later

Generics—LabVIEWdoes not provide a mechanism to instantiate generic classes or to call genericmethods. The .NET Constructor Node and the .NET Invoke Node do not allow you tospecify which types you want to substitute for the generic types.

Exceptions:

LabVIEWcan instantiate objects and call methods that are defined in .NET assembliesthat also contain generic type definitions or generic method definitions.However, LabVIEW can access only the parts of these assemblies that do not usegeneric features.

LabVIEWcan instantiate .NET objects that use generic classes or methods internally.

LabVIEWcan call .NET methods that use generic classes or methods internally.

.NET4.0

In-processside-by-side execution (only applies to LabVIEW versions prior to LabVIEW 2013.Click here to see how to load mixed-mode assemblies in LabVIEW 2013 and laterversions of LabVIEW)—LabVIEW cannot use a different version of the .NET CommonLanguage Runtime (CLR) for .NET assemblies targeted to run in differentversions of the CLR. Instead, LabVIEW uses only one version of the CLR for allthe .NET assemblies that it loads in a single application instance. LabVIEWuses the following rules to determine which installed version of the CLR touse:

Bydefault, LabVIEW uses the CLR 2.0, which is installed with .NET 2.0, 3.0, and3.5.

If youcreate the appropriate application configuration file, LabVIEW uses the CLR4.0.

Tochange which version of the CLR LabVIEW uses, you must exit LabVIEW and add orremove the application configuration file. Refer to the Loading .NET 4.0Assemblies in LabVIEW topic in the LabVIEW Help (linked below) for moreinformation.

If youdo not know which version of the CLR a specific assembly is targeted to use,you can refer to the .NET Assemblies in Memory dialog box. Refer to the .NETAssemblies in Memory Dialog Boxtopic in the LabVIEW Help (linked below) formore information.

dynamickeyword—.NET 4.0 introduces the dynamic keyword, which specifies that the typeof associated data is not determined or enforced until run time. LabVIEW,however, requires .NET objects to have a defined type in order to display theavailable methods in the .NET Invoke Node. Therefore, although LabVIEW allowsyou to call .NET methods that return a dynamic data type, you cannot use thereturned data to call other methods.

Exception:LabVIEW can successfully call assemblies that use dynamic data typesinternally.

Defaultvalues for optional parameters—.NET assemblies may include methods that allowoptional parameters. Optional parameters, in turn, have default values that themethod uses if the caller does not specify a value for the parameter. However,when you call a method with an optional parameter from LabVIEW, LabVIEW alwayspasses its own default value for the parameter instead of letting the methoduse its own preconfigured defaults.

Finally,National Instruments does not guarantee that LabVIEW fully supports all .NET4.0 class libraries. When possible, National Instruments recommends that youuse assemblies targeted for the CLR 2.0 instead of the CLR 4.0 when workingwith LabVIEW versions prior LabVIEW 2013.

AdditionalInformation

Workaround

Ingeneral, if you want to use a .NET feature that LabVIEW does not support, youcan create a wrapper .NET assembly that accesses the unsupported featureinternally. Because you create the wrapper assembly yourself, you can limit theexposed types and method definitions to those supported by LabVIEW.

什么是DLL封装,我什么时候需要使用DLL封装?

解决方案

所谓封装就是指为另一种软件提供兼容性接口的程序。由于第三方DLL的开发设计通常是为了从C语言(或者其它类似的底层语言)中调用,而不从是LabVIEW中调用,因此当使用LabVIEW进行应用程序开发时,往往会用到封装。例如,有的DLL会返回指针或者其它复杂的数据结构,而这在LabVIEW中却无法很容易的实现。

编写一个DLL封装,可以类比在C语言环境下,按照该DLL原始开发者设计的调用DLL方式,来编写一个完全独立的程序。反过来,这个封装程序也是专门针对在LabVIEW中调用DLL所设计的。也就是说,这个新的用C编写的“封装” 程序将原来的C程序(DLL)封装起来,形成一个接口层。使用封装的好处在于,不再需要使用原来的DLL的源代码,也不需要对这些源代码进行任何改动。

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章:

LabVIEW中使用.NET方法时出现错误1316

LabVIEW中使用.NET方法时出现错误1316为什么不能调用带有泛型参数的方法?LabVIEW不支持哪些.NET功能?为什么会收到以下错误:发生此错误的原因是正在调用LabVIEW中不支持的.NET功能。有关解决方法,请参阅“其他信息”部分。可以在下…...

HTTP2.0 相比 HTTP1.0、HTTP1.1 有哪些重大改进?值得升级更换吗?

目录 HTTP1.0 HTTP1.1 HTTP2.0 主要特性对比 HTTP发展历史 HTTP2解决的问题 HTTP1.0 HTTP1.1 HTTP2.0...

九、Linux文件 - fopen函数和fclose函数讲解

目录 1.fopen函数 2.fclose函数 3.fopen函数和fclose实战 1.fopen函数 fopen fwrite fread fclose ...属于标准C库 include <stdio.h> standard io lib open close write read 属于Linux系统调用 可移植型&#xff1a;fopen > open&#xff08;open函数只在嵌入…...

轨迹预测算法vectorNet调研报告

前言 传统的行为预测方法是规则的&#xff0c;基于道路结构的约束生成多个行为假设。最近&#xff0c;很多基于学习的预测方法被提出。他们提出了对于不同行为假设的进行概率解释的好处&#xff0c;但是需要重构一个新的表示来编码地图和轨迹信息。有趣的是&#xff0c;虽然高精…...

基于STM32设计的避障寻迹小车

一、前言 1.1 项目背景 根据美国玩具协会在一项研究中&#xff0c;过去几年全球玩具销售增长与GDP的世界平均水平大致相同。但全球玩具市场的内部结构已经占据了巨大的位置变化&#xff1a;传统玩具的市场份额正在下降&#xff0c;高科技电子玩具正在蓬勃发展。全球玩具市场的…...

【视觉检测】使用opencv编写一个图片缺陷检测流程

1. 导入必要的库&#xff0c;如OpenCV&#xff0c;NumPy等。 2. 使用OpenCV读取图像&#xff0c;并将其转换为灰度图像。 3. 使用OpenCV的Canny边缘检测算法检测图像中的边缘。 4. 使用OpenCV的Hough变换算法检测图像中的线条。 5. 使用OpenCV的模板匹配算法检测图像中的缺…...

3.Dockerfile 定制镜像

3. Dockerfile 定制镜像 从上一节的docker commit的学习中&#xff0c;我们可以了解到&#xff0c;镜像的定制实际上就是定制每一层所添加的配置、文件等信息&#xff0c;但是命令毕竟只是命令&#xff0c;每次定制都得去重复执行这个命令&#xff0c;而且还不够直观&#xff…...

Web基础与HTTP协议

Web基础与HTTP协议一、Web基础与HTTP概述1、域名概念二、域名服务与域名注册1、域名定义2、域名服务三、网页访问&#xff08;http、https&#xff09;1、网页概述2、网页的基本标签四、Web1、Web概述2、Web1.0 Web2.0五、HTTP协议概述1、HTTP协议简介2、HTTP协议请求总结一、W…...

【化学试剂】endo-BCN-PEG4-Pomalidomide,(1R,8S,9S)-双环[6.1.0]壬-四聚乙二醇-泊马度胺纯度95%+

一、基础产品数据&#xff08;Basic Product Data&#xff09;&#xff1a;CAS号&#xff1a;N/A中文名&#xff1a;(1R,8S,9S)-双环[6.1.0]壬-四聚乙二醇-泊马度胺英文名&#xff1a;endo-BCN-PEG4-Pomalidomide二、详细产品数据&#xff08;Detailed Product Data&#xff09…...

全板电镀与图形电镀,到底有什么区别?

衔接上文&#xff0c;继续为朋友们分享普通单双面板的生产工艺流程。 如图&#xff0c;第四道主流程为电镀。 电镀的目的为&#xff1a; 适当地加厚孔内与板面的铜厚&#xff0c;使孔金属化&#xff0c;从而实现层间互连。 至于其子流程&#xff0c;可以说是非常简单&#x…...

Zabbix 构建监控告警平台(二)--

Apache监控示例&#xff08;图形监控&#xff09;模板TemplateZabbix Items 1.Apache监控示例&#xff08;图形监控&#xff09; 1.1创建主机组 在“配置”->“主机群组”->“创建主机群组” 填入组名“webserver_test” 创建完成之后可以在“配置”->"主机群组&…...

开学季,关于校园防诈骗宣传,如何组织一场微信线上答题考试

开学季&#xff0c;关于校园防诈骗宣传&#xff0c;如何组织一场微信线上答题考试如何组织一场微信线上答题考试在线考试是一种非常节约成本的考试方式&#xff0c;考生通过微信扫码即可参加培训考试&#xff0c;不受时间、空间的限制&#xff0c;近几年越来越受企事业单位以及…...

蓝牙单点技术实现路径介绍

本文主要介绍蓝牙设备与手机一对一相连的 蓝牙单点 技术。 准备工作 系统要求&#xff1a;蓝牙使用需要安卓 4.3 以及以上版本&#xff0c;智能生活 App SDK 从安卓 4.4 开始支持。Manifest 权限&#xff1a; <uses-permission android:name"android.permission.ACCE…...

Ubuntu22.04 用 `hwclock` 或 `timedatectl` 来设置RTC硬件时钟为本地时区

Ubuntu22.04用 hwclock 或 timedatectl 来设置硬件时区为本地时区 可以用hwclock命令 sudo hwclock --localtime --systohc&#x1f446;效果等同&#x1f447; , --localtime的简写是-l ; --systohc的简写是-w sudo hwclock -l -w也可以用timedatectl命令 &#x1f446;效果…...

Node=>Express路由 学习2

1.概念 Express路由指的是客户端的请求与服务器处理函数之间的映射关系 Express路由由三部分组成 请求类型 请求URL地址 处理函数 app.METHOD ( PATH , HANDLER )根据定义的先后顺序进行匹配 请求类型和请求的URl同时匹配成功才会调用相应的处理函数 简单用法 2.模块化路由 为了…...

Android 面试三部曲——你做到了几点?

今天的干货来点轻松一点的&#xff0c;这次的分享是《面试需要哪些准备&#xff1f;》&#xff0c;主要分为三个部分&#xff1a; 面试前。面试中。面试后。 面试前 1、『工作经验中的职位要层层递进&#xff1a;初、中、高、资深级』&#x1f352; 2.投简历 你的简历必须要…...

windeployqt实现一键打包

每次发布QT程序前,都必须要在命令行环境下运行windeployqt 工具进行打包,加载相关的lib文件,才能正常运行。但是在命令行模式下,每次都要手动输入windeployqt的目录,和应用程序的位置目录,效率非常低,见下图: 那QT有没有什么好用的工具可以避免这个问题呢,认真找了一下…...

ESP32S3系列--SPI主机驱动详解(二)

一、目的 在上一篇《ESP32S3系列--SPI主机驱动详解(一)》我们介绍了ESP32S3的SPI外设的基本情况以及主机驱动的一些知识点,包括主机驱动的特点、总线的初始化、从设备的加入、传输模式分类等等。 本篇我们将从代码角度帮助大家进一步理解传输接口的一些细节问题。 二、实战 …...

51单片机15单片机 时钟芯片DS1302【更新中】

前言 现在流行的串行时钟电路很多&#xff0c;如DS1302、 DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便&#xff0c;被广泛地采用。 本文介绍的实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路主要特点是采用串行数据传输&#xff0c;可为掉电…...

SaleSmartly(ss客服)带你了解:缩短B2B销售周期的秘诀

缩短B2B销售周期的秘诀&#xff1a;即时聊天 关键词&#xff1a;B2B 销售&#xff1b;即时沟通&#xff1b;SaleSmartly&#xff08;ss客服&#xff09; 在B2B销售中&#xff0c;时间就是一切。在某些情况下&#xff0c;买家正在积极寻找即时解决方案&#xff0c;潜在客户以多种…...

九龙证券|A股苏州板块迎来“200+”里程碑

2月10日&#xff0c;跟着裕太微登陆科创板&#xff0c;A股“姑苏板块”正式迎来第201位成员。姑苏也成为继京、沪、深、杭之后&#xff0c;第5个具有A股上市公司总数超越200家的城市。 现在&#xff0c;姑苏不仅生长为位居全国前列的“制作之都”&#xff0c;更成为资本市场高地…...

vcruntime140_1.dll无法继续执行代码,怎么解决这种问题?

经常使用电脑的人&#xff0c;可能对于这个弹出框应该不陌生&#xff0c;“vcruntime140_1.dll无法继续执行代码”&#xff0c;其实会出现这种情况&#xff0c;主要是因为缺少一个动态链接库 (DLL) 文件导致的。这个文件是 Visual C 2015 库的一部分&#xff0c;某些程序需要这…...

正大国际期货:外盘震荡行情的特征及突破信号的确立

投机市场上&#xff0c;趋势交易应该是交易操作理念的灵魂和核心&#xff1b;能够顺应大的趋势&#xff0c;交易将变得简单&#xff0c;也更容易赚到钱。下面正大IxxxuanI详细来给大家讲讲 投资市场是由千万个交易个体所组成的复杂系统&#xff0c;走势具有不确定性&#xff0…...

【ESP 保姆级教程】玩转emqx数据集成篇④ ——数据桥接之HTTP服务

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-02-10 ❤️❤️ 本篇更新记录 2023-02-10 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…...

蓝桥杯算法训练合集十三 1.P06022.P07033.逗志芃的危机4.唯一的小可爱5.JOE的矩阵

目录 1.P0602 2.P0703 3.逗志芃的危机 4.唯一的傻子 5.JOE的矩阵 1.P0602 问题描述 编写一个程序&#xff0c;输入一个4位的自然数&#xff0c;将组成该数的各位数字重新排列&#xff0c;形成一个最大数和一个最小数&#xff0c;之后用最大数减去最小数&#xff0c;得到一…...

切换分支报错:Untracked Files Prevent Checkout

切换分支报错&#xff1a;Untracked Files Prevent Checkoutgit分支切换 Untracked Files Prevent Checkout本人解决办法&#xff1a;git分支切换 Untracked Files Prevent Checkout 新起的项目在切换master分支到工作分支时&#xff0c;出现下图的问题&#xff1a; Untracked…...

endo-BCN-PEG4-Palmitic,环丙烷环辛炔四聚乙二醇-Palmitic包装灵活

endo-BCN-PEG4-Palmitic&#xff0c;endo环丙烷环辛炔四聚乙二醇-Palmitic反应特点&#xff1a;endo-BCN-PEG4-Palmitic 酯在其末端含有一个 Palmitic基和一个 BCN 基。对点击试剂来说同样会通过不同的小分子PEG进行连接&#xff0c;BCN-PEG-acid、BCN-PEG-NHS ester、BCN-PEG-…...

多传感器融合定位十一-基于滤波的融合方法Ⅱ

多传感器融合定位十一-基于滤波的融合方法Ⅱ1. 编码器运动模型及标定1.1 编码器基础知识1.2 编码器运动模型1.2.1 旋转半径求解1.2.2 角速度求解1.2.3 线速度求解1.2.4 位姿求解1.3 编码器的标定1.3.1 轮子半径标定1.3.2 轮子与底盘中心距离标定2. 融合编码器的滤波方法2.1 核心…...

JAVA使用poi解析execl解决数值被转为科学计数法(如:手机号、身份证号、电话、等)解决方法

1、原由 大家都知道数字在EXCEL表格中存储时有两种表现形式。1.数字作为数值存储。当数字作为数值存储时&#xff0c;单元格中的数字可以参与数学运算。2.数字作为文本存储。当数字作为文本存储时,单元格中的数值不能够参与数学运算。 数字作为文本存储时&#xff0c;如果没有更…...

hive中substring_index()的使用

substring_index(str,delim,count)str:要处理的字符串delim:分隔符count:计数例子&#xff1a;strwww.wikibt.comsubstring_index(str,.,1)结果是&#xff1a;wwwsubstring_index(str,.,2)结果是&#xff1a;www.wikibt如果count是正数&#xff0c;那么就是从左往右数&#xff…...

国外的包装设计网站/广州seo团队

进程管理supervisor的简单说明 背景&#xff1a; 项目中遇到有些脚本需要通过后台进程运行&#xff0c;保证不被异常中断&#xff0c;之前都是通过nohup、&、screen来实现&#xff0c;带着能否做一个start/stop/restart/reload的服务启动的想法找到里Supervisor。关于super…...

建设网站要学什么/seo投放

hive的tar包下载地址&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1m3VKT2-kIgR1QyjmfnWvGw?pwdr45r 提取码&#xff1a;r45rmysql的tar包&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1--s1m3hfNNKEVGkFEqi5iA?pwdb7h4 提取码&#xff1a;b7h4由于hive的元…...

网站做百度竞价/信息流广告接单平台

点击打开链接 在发生其他类或对象关注的事情时&#xff0c;类或对象可通过事件通知它们。发送&#xff08;或引发&#xff09;事件的类称为“发行者”&#xff0c;接收&#xff08;或处理&#xff09;事件的类称为“订户”。 事件概述 事件具有以下特点&#xff1a; l 发行者确…...

网站建设维护学什么/百度seo排名优化系统

装好docker 1. master上&#xff1a; cd shell && sh init.sh && sh master.sh 2. node上&#xff1a;cd shell && sh init.sh 3. 在node上执行master输出的join命令即可 (命令忘记了可以用这个查看&#xff0c;kubeadm token create --print-join-com…...

怎么做网站和艺龙对接/58同城黄页推广

本文作者&#xff1a;CODING 用户 - 廖石荣 持续集成的概念 持续集成(Continuous integration,简称 CI&#xff09;是一种软件开发实践&#xff0c;即团队开发成员经常集成他们的工作&#xff0c;通常每个成员每天至少集成一次&#xff0c;也就意味着每天可能会发生多次集成。每…...

wordpress 4.0 静态化/微信营销管理软件

使用邮箱测试时&#xff0c;必须得开启邮箱的pop3/smtp服务&#xff0c;并找到邮箱正确的SMTP服务器地址以及端口。这里以QQ邮箱为例 打开QQ邮箱后&#xff0c;选择“设置-账户”这里写图片描述 拉动滚动条到下方这里写图片描述 开启pop3/smtp服务&#xff0c;并保存该授权码作…...