问题标签 [early-binding]

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 投票
3 回答
1547 浏览

java - Java中的绑定和调度有什么区别?

关联的名字太多了:Early and Late Binding、Static and Dynamic Dispatch、Runtime vs. Compile-time Polymorphism等等,我不明白其中的区别。

我找到了一个明确的解释,但它正确吗?我将解释JustinC

绑定:是确定一个变量(对象?)的类型。如果它是在编译时完成的,它的早期绑定。如果它在运行时完成,则为后期绑定。

Dispatch:正在确定哪个方法与方法调用匹配。静态分派是在编译时计算方法,而动态分派是在运行时进行。

绑定是否分别将原始变量和引用变量与原始值和对象匹配?

编辑:请给我一些明确的参考资料,以便我可以阅读更多相关信息。

0 投票
1 回答
852 浏览

c# - 根据继承排序属性列表

我有某些类都继承自其他类。每个类,只继承自另一个类,从不继承两个类。我还有一个基类,它是我的继承树的“顶部”。类例如:

这是我的结构中的一组继承。当我现在调用 IfcAlignment 的属性并遍历它们时,我按以下顺序获取它们:

  1. 预定义类型
  2. 对象放置
  3. 表示
  4. 对象类型
  5. 全球标识
  6. 所有者历史
  7. 姓名
  8. 描述
  9. _ID

但是我需要这些属性按“从上到下”的顺序,所以:

  1. _ID
  2. 全球标识
  3. 所有者历史
  4. 姓名
  5. 描述
  6. 对象类型
  7. 对象放置
  8. 表示
  9. 预定义类型

因此,我想在每个类中实现一个方法,您可以调用该方法并以正确的顺序对属性进行排序。到目前为止,该方法看起来像这样:

有谁知道如何访问父对象而不仅仅是我在当前代码中所做的父类型?还有其他建议如何解决这个问题吗?

0 投票
0 回答
808 浏览

dynamics-crm - Dynamics CRM Early Bound Generator Error (XRMToolBox)

我们正在使用 XrmToolBox 来支持早期绑定(使用早期绑定生成器)。

从一天到另一天,早期绑定的生成器不再工作了。

我从 ui 得到了这个日志。有什么问题或者我在哪里可以找到整个日志?

0 投票
0 回答
134 浏览

vba - 对 Application.VBE 的调用是否被视为早期绑定?

我在 Excel 中有一个 VBA 项目,没有对 的引用VBIDE,但我知道 Excel 类型库importlib在 MIDL 中有一条语句:

我在键入时确实得到了 Intellisense Application.VBE,这样我就可以使用 Intellisense 构造以下语句:

Application.VBE.VBProjects.Count

但我无法VBE在对象浏览器中查看定义,因为对象浏览器没有VBIDE被显式引用。

鉴于importlibMIDL 语句和 Intellisense 自动完成功能,我倾向于认为调用Application.VBE.VBProjects.Count是早期绑定的。

VBE 是否隐式解析了importlib对 VBIDE 的引用,即使它没有被直接引用,或者所有这些调用真的是后期绑定的?

0 投票
0 回答
158 浏览

vba - 在 Excel 中对 COM 对象应用早期绑定

我正在使用 VBA 宏从名为 Simpack 的第三部分程序中获取数据。Simpack 支持 COM 接口。但是如何学习程序的早期绑定命名。对于我当前的进程,我正在连接这种类型的后期绑定;

但我不知道如何在 Simpack 上使用早期绑定。我试过这个但没有奏效,因为我认为 of 的用法Simpack.Application是错误的。

我检查了程序文档,发现以下信息我不知道它对我的情况是否有用。

文档:此类的对象必须由 COM 客户端的 COM 实现创建。

每个 COM 客户端平台都提供了自己的方法来创建此对象的实例。有关一般 COM 问题,请参阅您平台的文档。

在 Windows Scripting Host 上运行的 JavaScript 中,您可以使用:

或者

在使用 C# 的 .Net 上,您必须首先在项目中添加对 COM 服务器的引用。要创建服务器实例,请使用

0 投票
1 回答
22 浏览

c++ - 不同种类的多态性问题

从我目前学到的知识来看,有两种多态性,编译时和运行时。在编译时,多态函数或运算符由编译器解析,而在运行时,它在运行时解析。编译时多态性的示例包括函数和运算符重载,运行时多态性包括函数覆盖和虚函数。此外,还有像早期绑定和晚期绑定这样的情况,我稍后会谈到。考虑以下代码:

如果我这样做:

结果很明显:

当我使用指向基类的指针来操作这些函数时,真正的问题就开始了。

输出将是:

这是由于早期绑定,编译器检查调用函数的对象类型,而不是其处理的对象类型。很明显它是在编译时完成的。现在,如果我virtual在基类函数定义中使用关键字,那么我可以轻松地完成上述操作,这是由于后期绑定,它根据对象的类型为运行时保存了函数定义。这是运行时多态的一个例子。

抱歉花了太长时间,我的问题是,这是我们实现运行时多态性的唯一方法吗?此外,如果函数覆盖是运行时多态,那么前面的示例(即具有早期绑定的例子)也应该是运行时多态,因为它也在执行函数覆盖。

0 投票
1 回答
733 浏览

vba - What is the reference name for early-binding of VBA SortedList?

I have the following VBA code (late binding):

which I want to replace with this (early binding):

Has anyone succeeded with this? I suppose that A reference must be enabled. But what is the name of that reference?

0 投票
1 回答
418 浏览

vba - 将早期绑定代码转换为后期绑定

我很难将早期绑定代码转换为后期绑定。我已经尝试了几次,但它不能正常工作。当涉及到早期绑定时,它运行良好。这是我的代码,我想请您向我展示它应该是什么样子以及我必须在哪些地方进行更改以及为了什么。

0 投票
1 回答
1482 浏览

vba - VBA 中的后期绑定与早期绑定 - (CreateObject() vs New)

我正在尝试使用 VBA 代码来调用需要使用 OAuth2 进行身份验证的受保护 API。一旦我尝试打开一个 URL,我就会被重定向到 ADFS 页面进行身份验证,然后我会返回。

现在对于某些使用CreateObject("InternetExplorer.Application")并且.Navigate URL工作正常的应用程序,对于我需要使用的其他 Web 应用程序New InternetExplorerMedium才能使代码正常工作。

你能告诉我这些对象之间的区别以及为什么有些网站使用其中一个而有些网站使用另一个吗?

谢谢

0 投票
1 回答
1380 浏览

vba - 从 Word VBA 脚本调用 CreateObject("Lotus.NotesSession") 时出现错误 429

尝试在 Word 2013 中构建一个相当简单的 VBA 脚本,以访问来自特定 Domino 数据库的数据。如果我求助于老式 OLE 自动化(参见第二个片段),我的脚本工作正常,但如果使用我非常喜欢的早期绑定的特定 Domino COM 对象,则不能。

我确保在我的 Windows 7 (x64) 机器上正确安装了 Word 2013和Notes 9.0.1 FP9。在 Word 的 VBA 编辑器中,我确保启用了对“Lotus Domino 对象”(domobj.tlb) 的引用。

我知道创建 NotesSession 对象有多种版本,我想我都测试了它们。这是“早期绑定”代码的一个示例:

在调试模式下运行此代码段,我在第 3 行收到运行时错误 429“Active X 组件无法创建对象”:

我知道我过去运行过类似的代码,但那是在早期版本的 NotesWord 中(不记得是哪个版本)。

但是,以下使用 OLE 自动化的老式方法仍然有效,所以我认为这不是注册表问题:

有人知道这里可能出了什么问题吗?无论出于何种原因,这可能是一个无法工作的组合吗?