问题标签 [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.

0 投票
1 回答
7555 浏览

design-patterns - 解释“活动对象”模式

主动对象模式的目标是什么?你能告诉我任何抽象的例子来容易理解吗?

0 投票
0 回答
148 浏览

c# - 如何在C#中从xml获取数据到表中

当我选中它并单击继续时,我有一个复选框,我想从 xml 文件中读取所有数据并将其放入表中,其中一列显示超链接,这将帮助用户添加或编辑数据以保存或更新。

单选按钮代码:

当我单击继续时,我正在尝试读取 xslt 文件。代码如下:

Javascript如下:

我已经像这样创建了 Server.XSLT 文件

我的xml文件是这样的:Server.xml

0 投票
0 回答
98 浏览

java - 在 abstractIssueAction 中的 JIRA 插件开发中使用 ActiveObjects

我在 Jira 插件开发中使用活动对象。

对于使用 webwork 插件模块类型创建的 JiraWebActionSupport,它可以正常工作。

但是我如何在任何其他类中使用活动对象,例如抽象问题操作?

我不知道如何正确注入构造函数?还是有更好的方法来做到这一点?

0 投票
1 回答
439 浏览

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,然后获取IConnectionPointITestEventsIID,最后调用它的Advise()方法。与 VBScript 一样,它会失败(尽管我收到另一个错误 - 0x80040202)。我在事件接收器的方法上放置了一个断点,QueryInterface以查看调用时会发生什么Advise()。我可以看到它QueryInterface被各种接口调用,最后它请求 my ITestEvents,我返回并设置 status S_OK。但是,该Advise()方法仍然返回上述错误。

我还尝试了另一件事:我已将.的 IID设置ITestEvents为的 GUID 。现在回来了!我什至模拟了一个事件,并且调用了事件接收器的方法!唉,这通常不能解决问题。如果您直接通过 IID 请求它 - 您会得到它,但它似乎没有被正确枚举,并且 VBScript 仍然无法正常工作。{00020400-0000-0000-C000-000000000046}IDispatchAdvise()S_OKInvoke()IConnectionPointContainerITypeInfo

我几乎没有使用 COM 的经验,所以我不知道从哪里开始。如果我使用IDispatchIID 就可以工作,这让我想知道ITestEvents接口是否需要一些自定义编组,尽管它是纯粹的IDispatch,所以我认为它应该由运行时处理好。

谢谢!

0 投票
0 回答
228 浏览

excel - VBA (Excel) - 在运行时获取活动对象 (ActiveX ComboBox)

我在做一个小项目时遇到了问题。我希望有人可以帮助我,在此先感谢!

我想要完成什么?

我创建了动态的新 ActiveX.ComboBoxes,其中包含给定的列表。当用户选择 ComboBox 并更改所选项目时,我触发了一个事件。(这工作得很好)。

现在:我需要一个方法来检查哪个“ActiveX ComboBox”触发了事件。有什么方法可以像使用“ActiveCell”一样检查“ActiveObject”吗?问题是 ActiveCell 不起作用,因为 Cell 不只是单元上方的对象处于活动状态。

当前代码:添加新的组合框

我如何触发事件:

我用了一种肮脏的方式来做到这一点

我将组合框链接到它下面的单元格。然后我在另一个单元格中写了一个公式,它应该是相同的值。然后我使用“计算”​​事件(遗憾的是它没有提供目标),例如:

现在,如果我更改组合框项目,A2 的值会发生变化,B2 的值也会随之改变,并且事件会被触发。

0 投票
1 回答
374 浏览

java - 活动对象和 LocalDate

我正在尝试在 JIRA 插件中使用 java.time.LocalDate 类型的字段创建 AO 对象。Ao 对象尚未创建。如果我将类型 оf 字段更改为 java.util.Date,则会创建 AO 对象。日志没有任何错误。是否可以使用带有 java.time.LocalDate 字段的 AO 对象?

0 投票
1 回答
110 浏览

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)。

这是编程的一个基本功能,为什么我想不出做这么简单的事情呢?

非常感谢任何可以帮助我解决这个问题的人,甚至可以发布正确答案的链接!

0 投票
1 回答
195 浏览

jira-plugin - 尝试使用带有 jira 插件的活动对象时不满足的依赖关系

嗨,我尝试将活动对象添加到 jira 插件。所有,我认为,根据 atlassian-springscanner 手册。

Webwork.java

ConfigurationStorageService.java(这是一个

pom.xml

也许我在那里以错误的方式声明 pom。pom 的简化版本(仅声明 maven 插件)也无济于事。看起来在运行时它找不到 ActiveObjects bean。如何修复它。谢谢你的建议。

0 投票
1 回答
89 浏览

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 插件。

0 投票
0 回答
20 浏览

excel - 使用 ActiveObject 在 Word (JScript, Javascript) 中选择收件人

如何使用 JScript 或 Javascript 中的 ActiveObject 函数在 Word 中选择收件人?我只能将 VBA 代码翻译成 JScript 或 Javascript 代码吗?

这是我的代码开始片段:

我在 Excel 中测试了完美的单元格函数。但是有没有在 word 中选择收件人的选项?