- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个从外部 DLL 创建静态 devDrv 的 MyObject。如果 devDrv 是由 MyObject 构造函数创建的。代码工作正常。如果 devDrv 是由 MyObject.Connect 之一创建的(请参阅下面的第二个对象),则对 MyObject.Connect() 的第一次调用工作正常。在第二次调用时,我将收到此错误:“无法使用已与其底层 RCW 分离的 COM 对象”。似乎 devDrv 不是持久的。我希望这个 devDrv 对象由 MyObject.Connect 创建,如下面的第二个对象所示。我会感谢你的帮助。
// this code works fine.
public sealed class MyObject
{
static ExtDeviceDriver devDrv;
public MyObject()
{
devDrv = new ExtDeviceDriver();
}
public void Connect()
{
devDrv.connect();
}
}
//this code causes exception.
public sealed class MyObject
{
static ExtDeviceDriver devDrv;
public MyObject()
{
// do not create devDrv here.
//devDrv = new ExtDeviceDriver();
}
public void Connect()
{
if (devDrv == null)
devDrv = new ExtDeviceDriver();
devDrv.connect();
}
}
最佳答案
我会创建静态构造函数
而不是这种方式
public class MyObject
{
static ExtDeviceDriver devDrv;
static MyObject()
{
devDrv = new ExtDeviceDriver();
}
public void Connect()
{
devDrv.connect();
}
}
但似乎问题出在 ExtDeviceDriver
而不是您的代码,可能是您不允许连接两次
关于c# - 静态 C# 对象导致 : COM object that has been separated from its underlying RCW cannot be used,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12593087/
我正在尝试使用 Invoke-WebRequest cmdlet(第一次)连接到 Sharp 打印机的 Web 界面。到目前为止,我的代码如下: $cred = Get-Credential $url
情况1: BufferedReader br = new BufferedReader( new InputStreamReader( new FileInputStream(file) ) ); b
我被要求关闭一个网站,因此在创建新网站时删除了文件并放置了一个带有“正在 build 中”消息的新索引页面。该站点的旧页面仍会显示在 google 中,但现在解析 403-Forbidden。 我希望
当使用带有反射的路径相关类型时,即使我有匹配的“底层类型”,我也会收到类型不匹配错误。这些“非底层类型”是什么?为什么检查它们而不是“底层类型”? 在下面的代码中,我希望 compare 方法仅接受
我对在这个网站上提问非常陌生,但通过阅读它学到了很多东西,所以非常感谢! 有点随机,看到了这个页脚上这种令人敬畏的“地毯下”风格的视差效果 - 并寻找一些关于如何将其提升的提示? http://ide
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我正在尝试使用来自 google guava 库的 AbstractScheduledService。在 the docs for this class我看到以下内容: The executor wi
我有一个 enum其中每个成员都是 Set ,即以下是我的代码: // Guava used only for the ease of "Sets.newHashSet(E... elements)"
我的应用程序必须下载一个文件,here is the url .该应用程序多年来一直运行良好,但在供应商方面最近发生变化后,我收到“基础连接已关闭:发送时发生意外错误。” 我已经阅读了网上的所有相关信
我已经看到很多关于这个主题的话题......但是谷歌上的解决方案对我不起作用。 我正在使用 HttpWebRequest 对象执行 POST 操作,当我尝试发布大量数据时出现错误 The underl
了解 STL 容器实际情况的最佳方式是什么?我认为仅仅编程是不够的。有专门针对这个的书籍吗? 最佳答案 这本书非常好,即使它可能没有像您希望的那样深入到细节:The C++ Standard Libr
这是场景:我有一个按钮 B,还有一个滑动抽屉,拉出时会覆盖整个屏幕。当我拉出屏幕并触摸 B 曾经可见的屏幕时,它的 Action 仍在执行。 我该如何解决这个问题? 我找到了 this线程描述了同样的
我正在尝试解析 PDF 并创建某种层次结构。考虑输入 Title 1 some text some text some text some text some text some text some
perl 中的基本类型与大多数语言不同,类型为标量、数组、哈希(但显然不是子例程,&,我猜这实际上只是带有语法糖的标量引用)。最奇怪的是,最常见的数据类型:int、boolean、char、strin
在生产中,我的应用程序开始出现此错误: The underlying provider failed on Open 据我所知,在本地测试应用程序时我没有收到此错误(至少无论我做什么都无法得到它)。我
我遇到了一个在将 Entity Framemork 与 MySQL 连接器一起使用之前从未遇到过的问题。我有下面的简单方法核心: ps_manufacturer manufacturer = null
我在我的程序中使用 websocketpp 作为 websocket 服务器。但是最近在某些用户的环境中,当我监听某个特定端口时,发生了错误,我打印了 error_code 消息,它是“Underly
我有一个黑色的导航栏 (bar) 和一个垂直的白色页面 (page)。 页面 应该从下到下运行,看起来就像刚从栏 的正下方出来一样。 bar 有一个投影,它显然应该在 page 上 - 如下所示: 问
我在 C++11 中工作,包括一个在 C++03 中实现的 h 文件。在我包含的 h 文件中,定义了一个枚举 Foo。我想在 code.h 中声明一个转发到它并在 code.cpp 中使用它: 标题.
我正在学习 Go(到目前为止很喜欢),但我遇到了一个有趣的问题。编译失败的代码是: package main import "fmt" type MyInt int func (i MyInt) Do
我是一名优秀的程序员,十分优秀!