问题标签 [object-model]
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.
delphi - 两个独立库中使用的同一个类不兼容?
今天遇到一个奇怪的案例,这让我想到了 delphi 中的对象模型是如何工作的。
案子:
我们导入了一个 SOAP 服务,它公开了几个方法,将对象作为参数。Delphi 生成我们用来与soap 服务通信的类/接口,并且用作参数的对象都继承自TRemotable。
由于不同的原因,我们将所有与soap服务的通信都放在了一个dll中。
然后,我们尝试实例化应该在主可执行文件中发送的对象,并将其传递给库以进行序列化和发送。
现在,这不起作用,但给出了一个我没想到的异常。
它说我们试图发送到soap服务的对象必须继承自TRemotable,但确实如此。通过检查该对象,我们可以看到该类是从 wsdl 导入的类,并且父类确实是 TRemotable。
使用包构建解决了这个问题。
问题:
是不是一个在源文件中定义的类在两个库之间共享,最终在运行时成为不同的类?如果是这样,那是为什么?
据我所知,在库之间传递对象应该没问题。那么,如何确保强类型化,以及对象实例在多大程度上相互兼容?
sharepoint - SharePoint 2007 对象模型:如何制作新网站集,将原始主网站移动为新网站集的子网站?
这是我当前的设置:
- SharePoint 2007 (MOSS Enterprise) 框中的一个网站集(总大小为 32 GB)
- 一个包含许多子网站的主网站(如果重要的话,主要是从团队网站模板创建的),它是框中的一个网站集的一部分
我正在尝试做的*:
**如果有更好的顺序或以下方法,我愿意更改它*
- 在同一个 SP 实例上创建一个具有主要默认站点的新站点集(这已完成,在 SP 对象模型中很容易做到)
- 将 rootweb (a) 移动为新位置的子站点,在主站点下
当前结构:
新结构应该是什么样子:
这是我第 2 步的代码:
注意: * SharePoint.Administration 下的对象模型中的 SPImport 是此处使用的内容 * 此代码当前在触发错误事件处理程序时出错,并显示“对象引用不是对象的实例”
下面是调用上述方法的代码:
iphone - iPhone OS:为什么我的 managedModelObject 不符合键值编码?
好的,所以我正在尝试为我的应用程序构建这个统计跟踪器,并且我已经构建了一个名为 statTracker 的数据模型对象,它可以跟踪我想要的所有内容。我可以使用选择器设置和检索值,但是如果我尝试使用 KVC(即 setValue: forKey: ),一切都会变糟,并说我的 StatTracker 类不符合 KVC:
valueForUndefinedKey:]:实体 StatTracker 不符合键“timesLauched”的键值编码。2010-05-18 15:55:08.573
这是触发它的代码:
不确定这对你们来说是否足够的代码,如果您确实需要更多,请告诉我您需要什么。
如果我可以使用 KVC,那就太好了,因为我可以将所有这些统计跟踪内容抽象到一个方法调用中,并为所讨论的值提供一个字符串参数。至少这是我希望在这里完成的。我现在实际上正在了解 KVC 的强大功能,但现在我只是想弄清楚如何让它发挥作用。
谢谢!
缺口
添加下面建议的代码后,输出是这样的:
对象:(实体:StatTracker;id:0x3e1e1b0;数据:) 2010-05-19 11:30:38.173 verses[29526:207] *** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[valueForUndefinedKey:] :实体 StatTracker 不符合键“timesLauched”的键值编码。2010-05-19 11:30:38.174 诗句[29526:207] 堆栈:(
delphi - 通过 Delphi 中的自动化使对象模型可用:最简单的方法是什么?
我们正在用 Delphi 从头开始重写一个计算核心,并且我们正在寻找让其他人针对它编写代码的方法。
自动化似乎是完成这项工作的一种相当安全的方式。我们正在考虑的一种用途是使其可用于 VBA/Office,并生成一个 .NET 程序集(基于自动化对象,这很容易)。
但是代码应该仍然很容易在 Delphi 中使用,因为我们将使用它来编写我们的(桌面)UI。
现在我一直在研究在 Delphi 中创建一个自动化服务器,在类型库向导中设计组件然后生成基本代码看起来很麻烦。
我们必须实施的计算在尚未批准的官方规则和法规中有所描述,因此在我们完成之前仍可能会发生变化——他们很可能会,也许会相当广泛。等待最终版本不是一种选择。
另一种方法是先完成整个对象模型,然后编写一个单独的自动化服务器,它只描述顶级对象 switch $METHODINFO ON
,并使用 TObjectDispatch 返回所有从属对象。 正如我所看到的,这将需要编写包装器以通过 IDispatch 接口返回对象。由于那里有 100 多个不同的课程,这看起来不是一个有吸引力的选择。
编辑: TObjectDispatch 足够聪明,可以包装属性和方法返回的任何对象;所以只需要包装顶部的对象。然而,缺乏完整的类型库确实意味着只能进行后期绑定。
是否有其他更简单(阅读:无忧)的方式在 Delphi 中编写 COM 可访问的对象模型?
javascript - Javascript对象/数组问题?
我是 javascript 对象模型(基于原型)的新手,我正在尝试执行以下操作:
我有一个简单地初始化数组的构造函数:this.myArray = []
。我有一个方法:
基本上我需要myArray
附加到一个特定的type
. 即当addToArray()
被调用时,对象将被添加到与type
. 我不想提前知道所有可能的类型。我还需要添加方法来清除包含某种类型的对象的数组。所以基本上,我认为我需要以某种方式动态创建与类型相关联的数组。
任何帮助,将不胜感激。
我认为我的问题令人困惑,因此我将尝试详细说明:我的“业务”代码创建了我需要跟踪的对象。每个对象都与某种“类型”或“风味”相关联。我正在尝试制作一个通用对象来处理将这些对象引用存储在数组中(每种类型的数组)并处理对这些对象的操作。然后可以对给定类型的所有对象执行操作。我希望能够在不提前知道类型的情况下执行此操作(即避免在构造函数中为每种类型创建 1 个数组)。
“类型”可以是任何东西。即字符串“typeA”或“typeB”等只是区分不同类别对象的一种方式。
c# - 使用 EnumType.None 或 Nullable?
枚举通常用于定义类的特定属性的状态,例如在某种对象模型中。对于其中一些属性,“此属性未设置”状态是有效的。
在这些情况下,我应该使用零None
枚举值,还是使属性类型可为空?
或者
dom - SharePoint - 以编程方式设置自定义发布页面布局自定义字段
我有一个基于发布文章页面内容类型的自定义发布页面内容类型。在这种内容类型上,我有一个名为“PageContentCategory”的自定义字段。在我创建新页面的代码中,我尝试了这个:
我也尝试通过字段名称设置它:
这两种方法都会引发错误。有什么方法可以让我在这样的代码中设置自定义字段的值吗?
objective-c - 在拖放操作中传递对象指针
是否可以在拖放操作中将指针传递给对象?
这是场景...
我有一个自定义对象的“NSArray”。为了争论,我们会说这是一个人对象的列表。
该列表NSTableView
通过一个NSArrayController
. 这NSTableView
是一个拖动源,我有一个NSView
作为拖动目的地。
实现拖放时,我可以在拖动过程中轻松地从NSArrayController
as中获取当前选定人员的姓名,NSString
并将其传递给NSView
.
但是,我希望能够将指针传递给 person 对象,以便接收者可以访问整个对象。
问题似乎是拖动操作创建了一个新的人员对象实例,并且尽管在人员模型中实现了所需的方法,但并没有对选定的人员对象进行引用。结果,我在目的地得到了一个人对象,它只是没有填充来自对象的数据。
理想情况下,我想要对象指针,因为 NSView 将使用对象引用,以便对对象本身的任何更新都反映在NSView
和NSTableView
(以及使用对象的其他任何地方)中。
是否甚至可以在拖放操作中使用对象引用,或者我是否需要传递一些自定义引用,即 person 对象的 iVar,然后在它到达目的地后进行查找?(考虑到引用 Obj-c 的对象有多少,这对我来说似乎有点过时)。
我知道目标可以接受来自应用程序外部的拖动操作,但是将操作指定为本地操作会解决这个问题,不是吗?
我已经检查了苹果文档,但似乎仍然无法找到答案。
非常感谢任何和所有帮助。
javascript - JavaScript:.extend 和 .prototype 有什么用?
我对 JavaScript 比较陌生,并且经常在我使用的第三方库中看到 .extend 和 .prototype。我认为这与 Prototype javascript 库有关,但我开始认为情况并非如此。这些是干什么用的?