问题标签 [invocation]

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 投票
11 回答
256 浏览

java - 以下代码如何工作

目前我正在尝试像这样调用它:

代码的输出是 hi

0 投票
5 回答
2108 浏览

java - 重载方法优先级

我有一个名为 Element 的基类。其他一些类(如标签和图像)都扩展了这个类。

我现在有一个具有以下方法的调度类:

如果现在我有一个 Label 实例(它扩展了 Element)并且我想将它传递给createEditor(),为什么要调用最通用的方法(第二个)?调用最具体的方法( )不是很正常吗?createEditor(Label e)

我绝对需要带有 Element-param 的方法,以便“捕获”所有那些 a) 实现 Element 但在此调度类中没有自己特定方法的类。

我正在使用 Java 6,如何“解决”这个问题?

编辑:好的,我不得不承认这与泛型无关。但那是我第一次遇到它的地方。

谢谢并恭祝安康

0 投票
3 回答
3317 浏览

c - C中的直接调用与间接调用

我是 C 的新手,我正在阅读指针如何“指向”另一个变量的地址。所以我尝试了间接调用和直接调用,并收到了相同的结果(正如任何 C/C++ 开发人员所预测的那样)。这就是我所做的:

所以我想知道使用指针的间接调用是否比直接调用有任何优势,反之亦然?一些优点/缺点可能包括速度、执行操作所消耗的内存量(很可能相同,但我只是想把它放在那里)、安全性(如悬空指针)、良好的编程习惯等。
1有趣的是,我是使用 GNU C 编译器 (gcc),它仍然可以在没有 return 语句的情况下进行编译,并且一切都符合预期。可能是因为如果你忘记了 C++ 编译器会自动插入 return 语句。

0 投票
1 回答
5031 浏览

java - JNI缓存的jclass全局引用变量被垃圾收集?

我在 JNI 调用 API 中工作,从 C 调用 Java。我有一些预先初始化来将 30 多个 Java 类缓存到全局引用中。FindClass 的结果被传递到 NewGlobalRef 以获取对该类的全局引用。我正在缓存这些类变量以便以后重用它们。我有 30 多个对类的全局引用(以及 30 多个用于类构造函数的全局方法 ID)。

在以下示例中,我删除了异常处理和 JNI 调用,以缩短代码片段。我的工作代码在每次 JNI 调用后都会进行异常检查,并且我正在使用 -Xcheck:jni 运行。这是片段:

initializeJNI() 函数设置 jclasses 的全局引用和构造函数的方法 ID,以及一些 jfieldID 和 C 数据结构的一些初始化。

初始化后,当我使用一些缓存的 jclasses 和 ctor jmethodIDs 调用 JNI 函数时,我收到了从 -Xcheck:jni 报告的错误的全局或本地引用调用。

在gdb 中,我在initializeJNI() 的最后一行中断,并打印所有jclasses 和jmethodID,而导致问题的那些看起来已经变成垃圾或垃圾收集(即0x00 或0x06)。全局引用是否可以被 gc'ed?

有什么建议么?

0 投票
2 回答
213 浏览

php - 动态方法调用的奇怪问题

这一次,我面临一个非常奇怪的问题。我有以下代码:

如您所见,我从 XML 文件中获取类名和方法名。我可以毫无问题地创建该类的实例。最后的 var_dump 返回 true,这意味着 $method_name(它有 2 个可选参数)是 $className 的一个方法。

但是,我很确定语法是正确的,当我尝试时: $obj->$method_name() 我得到:

致命错误:方法名称必须是字符串

如果您有任何想法,请告诉我 :) 提前谢谢,Rolf

0 投票
2 回答
1120 浏览

java - 在 JNI 调用 API 中工作时将对象传递给 C 函数是否安全?

我正在使用 JNI 调用 API 编写一些代码。AC 程序启动一个 JVM 并调用它。JNIenv 指针对于 C 文件是全局的。我有许多 C 函数需要对给定的作业类执行相同的操作。所以我编写了辅助函数,它接受一个作业并处理它,返回所需的数据(C 数据类型......例如,一个 int 状态值)。编写 C 辅助函数并将作业对象作为参数传递给它们是否安全?

即(一个简单的例子 - 旨在说明问题):

谢谢。

0 投票
3 回答
1397 浏览

delphi - 重新激活托盘中运行的应用程序的最佳方法是什么?

我有一个运行最小化为托盘图标的 delphi 应用程序。双击托盘图标时,应用程序会打开一个非模态用户界面表单。

我已向应用程序添加逻辑以检测它是否已在运行。如果它没有运行,它会启动并将自身最小化到托盘。

如果它已经在运行,我希望它将控制权传递给自身的第一个实例并打开非模态表单,然后退出(第二个实例)。最好的方法是什么?

TIA R

0 投票
2 回答
184 浏览

java-me - J2ME - Midlet 调用类型感知

MIDlet 如何确定它是手动调用的还是自动调用的?

谢谢!

0 投票
3 回答
718 浏览

reference - 通过 Invocation API 获得的 JNI 对象引用:本地还是全局?

我正在使用 JNI 调用 API,它在 C 程序中启动 JVM;在这种情况下,您将获得一个 JNIEnv 指针,该指针在您明确销毁 JVM 之前一直有效。本地/全球的区别在这里仍然适用吗?由于 JNIEnv 始终在范围内,对新创建的对象的本地引用是什么意思?

0 投票
2 回答
10437 浏览

c# - 如何确定某个特定代表是否已被分配给某个活动?

我在 winform 上有一个命令按钮。所以,如果我有类似的东西:

如何判断是否已将任何特定的 MyHandler 添加到 Click 事件中,以便不会在我的代码中的其他位置再次添加它?

我已经阅读了如何使用 GetInvocationList() 获取您自己的事件信息。但是在尝试使用各种组合获取命令按钮的项目时出现错误。它说,

“事件 'System.Windows.Forms.Control.Click' 只能出现在 += 或 -= 的左侧。”

我错过了什么?

[编辑] - 我想强调艾哈迈德指出的这个问题。这是一个混乱,应该更容易恕我直言,但看起来它可能只是工作。