问题标签 [active-objects]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
design-patterns - 解释“活动对象”模式
主动对象模式的目标是什么?你能告诉我任何抽象的例子来容易理解吗?
c# - 如何在C#中从xml获取数据到表中
当我选中它并单击继续时,我有一个复选框,我想从 xml 文件中读取所有数据并将其放入表中,其中一列显示超链接,这将帮助用户添加或编辑数据以保存或更新。
单选按钮代码:
当我单击继续时,我正在尝试读取 xslt 文件。代码如下:
Javascript如下:
我已经像这样创建了 Server.XSLT 文件
我的xml文件是这样的:Server.xml
java - 在 abstractIssueAction 中的 JIRA 插件开发中使用 ActiveObjects
我在 Jira 插件开发中使用活动对象。
对于使用 webwork 插件模块类型创建的 JiraWebActionSupport,它可以正常工作。
但是我如何在任何其他类中使用活动对象,例如抽象问题操作?
我不知道如何正确注入构造函数?还是有更好的方法来做到这一点?
c# - C# 运行主动自动化对象 - 如何获取事件源?
我有一个(长期运行的)控制台应用程序,用 C# 编写,我希望能够通过 COM 操作它(所以没有 InProc DLL 和 regasm.exe)。IDispatch
是我所需要的 - 所以一个经典的 OLE 自动化对象。
在这里,我将展示我尝试做的最小版本。我已经定义了一个这样的 COM 类:
我只是在Main()
运行对象表 (ROT) 中使用"comTestApp"
Moniker 注册对象并休眠应用程序。你可以在这里看到完整的源代码。
当我尝试调用对象的方法时,这工作得很好。例如,这个 VBScript 工作正常:
但是当我尝试连接事件时:
调用时ConnectObject
出错(错误 0x80020009“无法连接对象”)。
如果我使用 regasm.exe 将程序集注册为 InProc 对象,则相同的代码(只需添加类 GUID/ProgID)可以工作,但我不需要。我需要访问正在运行的应用程序,这就是我使用 ROT 的原因。
我创建了一个简单的 C++ 测试,看看我是否能找到有关该问题的更多信息。来源在这里。我编写了一个最小的 COM 对象来实现IDispatch
应该充当事件接收器的接口。首先我从 ROT 中获取对象,查询IConnectionPointContainer
,然后获取IConnectionPoint
的ITestEvents
IID,最后调用它的Advise()
方法。与 VBScript 一样,它会失败(尽管我收到另一个错误 - 0x80040202)。我在事件接收器的方法上放置了一个断点,QueryInterface
以查看调用时会发生什么Advise()
。我可以看到它QueryInterface
被各种接口调用,最后它请求 my ITestEvents
,我返回并设置 status S_OK
。但是,该Advise()
方法仍然返回上述错误。
我还尝试了另一件事:我已将.的 IID设置ITestEvents
为的 GUID 。现在回来了!我什至模拟了一个事件,并且调用了事件接收器的方法!唉,这通常不能解决问题。如果您直接通过 IID 请求它 - 您会得到它,但它似乎没有被正确枚举,并且 VBScript 仍然无法正常工作。{00020400-0000-0000-C000-000000000046}
IDispatch
Advise()
S_OK
Invoke()
IConnectionPointContainer
ITypeInfo
我几乎没有使用 COM 的经验,所以我不知道从哪里开始。如果我使用IDispatch
IID 就可以工作,这让我想知道ITestEvents
接口是否需要一些自定义编组,尽管它是纯粹的IDispatch
,所以我认为它应该由运行时处理好。
谢谢!
excel - VBA (Excel) - 在运行时获取活动对象 (ActiveX ComboBox)
我在做一个小项目时遇到了问题。我希望有人可以帮助我,在此先感谢!
我想要完成什么?
我创建了动态的新 ActiveX.ComboBoxes,其中包含给定的列表。当用户选择 ComboBox 并更改所选项目时,我触发了一个事件。(这工作得很好)。
现在:我需要一个方法来检查哪个“ActiveX ComboBox”触发了事件。有什么方法可以像使用“ActiveCell”一样检查“ActiveObject”吗?问题是 ActiveCell 不起作用,因为 Cell 不只是单元上方的对象处于活动状态。
当前代码:添加新的组合框
我如何触发事件:
我用了一种肮脏的方式来做到这一点
我将组合框链接到它下面的单元格。然后我在另一个单元格中写了一个公式,它应该是相同的值。然后我使用“计算”事件(遗憾的是它没有提供目标),例如:
现在,如果我更改组合框项目,A2 的值会发生变化,B2 的值也会随之改变,并且事件会被触发。
java - 活动对象和 LocalDate
我正在尝试在 JIRA 插件中使用 java.time.LocalDate 类型的字段创建 AO 对象。Ao 对象尚未创建。如果我将类型 оf 字段更改为 java.util.Date,则会创建 AO 对象。日志没有任何错误。是否可以使用带有 java.time.LocalDate 字段的 AO 对象?
ruby-on-rails - 在 ruby 中复制/克隆一个活动对象,并对其进行更改,而不会弄乱数据库
我是红宝石新手。我用多种语言编写过代码,如果有很好的参考资料并且有逻辑地解释,通常会很快得到东西。我快疯了。我已经在 stackoverflow 以及其他网站上查看了与此相关的所有可能问题。每个人都说使用 .clone 或 .dub 或 freeze 甚至是 Marshal.load(Marshal.dump(arr)) 之类的东西,但这些都不起作用。
我只想要原始对象的副本,我可以在运行时对其进行修改,而无需对数据库进行任何更改。
rails 项目将一堆产品加载到一个对象中,然后将其注入到下拉列表中。假设它被称为@products。客户希望我从下拉列表中删除某些条目,但不能从数据库中删除它们。
例如,在 php 中,您只需将 db 对象加载到变量中,然后通过 id 删除您不想要的内容,然后遍历生成的对象/数组并创建下拉列表。这不会改变数据库。
我很快意识到,Ruby 不是那样工作的,它会直接从数据库中删除内容,即使我使用 .clone 或 .dup 也是如此。
假设我使用 tempproducts = @products,并且我做了类似 tempproducts.delete(11) 的事情,我不希望系统也去删除 @products(11)。
这是编程的一个基本功能,为什么我想不出做这么简单的事情呢?
非常感谢任何可以帮助我解决这个问题的人,甚至可以发布正确答案的链接!
jira-plugin - 尝试使用带有 jira 插件的活动对象时不满足的依赖关系
嗨,我尝试将活动对象添加到 jira 插件。所有,我认为,根据 atlassian-springscanner 手册。
Webwork.java
ConfigurationStorageService.java(这是一个
pom.xml
也许我在那里以错误的方式声明 pom。pom 的简化版本(仅声明 maven 插件)也无济于事。看起来在运行时它找不到 ActiveObjects bean。如何修复它。谢谢你的建议。
jira-plugin - 活动对象:无法处理方法。它不是有效的 getter 或 setter,并且没有提供实现
我收到错误消息:
java.lang.IllegalArgumentException: Cannot handle method. It is not a valid getter or setter and does not have an implementation supplied. Signature: public abstract ...
在使用 ActiveObjectsJUnitRunner 运行的单元测试中。该项目是一个带有 Active Objects 的 Atlassian Jira 插件。
excel - 使用 ActiveObject 在 Word (JScript, Javascript) 中选择收件人
如何使用 JScript 或 Javascript 中的 ActiveObject 函数在 Word 中选择收件人?我只能将 VBA 代码翻译成 JScript 或 Javascript 代码吗?
这是我的代码开始片段:
我在 Excel 中测试了完美的单元格函数。但是有没有在 word 中选择收件人的选项?