问题标签 [byval]
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.
vba - 使用 ByVal VBA 时出错
在某些计算机中,当我使用 byVal 修饰符时会出现错误。我的代码中有一些,但我设法删除了所有这些,但我在以下代码中需要它:
我确信错误是由于 ByVal 造成的。我在更多功能中使用了 ByVal,但它们没有工作,但是当我以另一种方式(不使用 ByVal)进行操作时,它们可以工作,如果我只是删除这个函数,所有其他函数都可以正常工作。我无法理解原因。
另一个奇怪的事情是它只发生在某些计算机上(Win8,office 2013)。但我有相同的操作系统、办公和安全设置。它给出的错误是编译错误:
“隐藏模块中的编译错误:Module4”
vba - VBA 事件中的 ByVal
我正在尝试在 VBA 上取得一些进展
我知道这是非常基本的,但在工作表事件中,例如更改
我无法从帮助中的这个解释中得到意义
指定以这样一种方式传递参数,即被调用的过程或属性不能更改调用代码中参数基础的变量的值。
女巫真的把我搞糊涂了……
我还在各种来源中进行了搜索,发现了这种不同的解释,使我更深地陷入了黑暗……它是这样的:
如果您不希望被调用过程修改作为参数传递的任何变量,则可以修改被调用过程的参数列表,以便通过值而不是通过引用将参数传递给它。为此,请在参数前面加上 ByVal 关键字。这种技术使被调用的例程使用传递的变量数据的副本——而不是数据本身。
他的意思是“参数是通过值而不是通过引用传递给它的”?你能用简单的方式解释一下 ByVal 的作用吗?我在编写代码时经常使用它,并且我想知道我正在编写的每一段代码。
vb.net - 将结构作为 ByValue 传递给过程,但是过程会更改原始结构值
我想问一些关于 VB.NET 代码的问题。我深受这个问题的困扰。如果您知道我的问题的解决方案,请回答我或给我一些意见。
vba - 集合对象 - ByRef - ByVal
我在 Access 2013 中使用 VBA。
在常规模块中有 2 个过程,RunProc()
并且PopulateCollection()
执行时RunProc
,它调用PopulateCollection
其中传递的参数是一个名为的集合实例MyCol
。
PopulateCollection
添加 3 个项目,然后RunProc
通过迭代集合继续。
我的问题/问题是这样的:
我希望参数不被MyCol
. 实现此目的的正确方法是什么?RunProc
PopulateCollection
为什么PopulateCollection
同时填充参数和参数?
这是问我问题的另一种方式:
.net - 从公共子(模块)获取 DialogResult
我不知道要搜索什么关键字。
这是在我的应用程序的一个模块上。
现在我想在表单上使用它。所以当我点击Confirm:
但它没有给我任何回报..我没有得到回应。我不知道如何编码,你能找出问题所在吗?
vb.net - ByVal 如何处理 vb.net 中的对象?
我的问题是关于在 vb.net 中使用 ByVal 的概念。
这是代码:
在上面的代码片段中,我在 GetManipulateDetails 函数中将 tObject1 作为 ByVal 发送,当此子例程中的值发生更改时,返回的对象会操纵传递的实际对象。即,如果我在 ManipulateDetails 方法中快速观察对象,我可以看到被操纵的细节。此外,如果我在子例程函数中返回对象,则值将反映在传递的原始对象中。
因为即使没有从函数 GetManipulateDetails 返回对象,值也会发生变化,我很困惑这是否是因为 ByRef?或者还有其他一些机制正在使这项工作。
.net - 事件:在集合中找不到键“参数名称”
考虑以下方法:
流量:
1) 如果action == "Go"
那么程序应该使用r.Cells("item_id")
(example = "000123456") 创建一组参数 ( GoActionEventArgs
) 以传递给我的事件 ( BeginGoAction
)。直到此时r.Cells("item_id")
仍然存在并包含值。
2)在事件被触发并且与该事件相关的所有动作都被执行之后,程序应该开始一个工作流。允许跨不同应用程序完成操作。因此它需要item_id
并item_type
存储在我的r.Cells
. 除了突然之间R.Cells.Count() = 0
,它不再包含item_id
和item_type
问题:
如何仅仅因为一个事件被触发而r.Cells
从包含值(item_id
, item_type
,...)变成一个空集合?r.Cells
由于该事件对其所在的网格或网格没有影响r
。
请注意,这是基于现有代码的伪代码。如有错别字请见谅...
注意 2:该事件不会清除(或与)网格(或与网格有任何交互)。它对不同的 web 服务/数据库执行一组微妙的操作。代码太长(所有方法组合),无法在此处发布。
额外信息:
构造函数 GoActionEventArgs:
事件 BeginGoAction:
vb.net - 参数将 ByVal 传递给 VB.NET 函数并在那里进行操作
在这个 Microsoft 示例中,一个 Doubles 数组被传递给函数MultiplyMatricesSequential(...)
,并使用修饰符MultiplyMatricesParallel(...)
作为参数结果:http: //msdn.microsoft.com/de-de/library/dd460713 (v=vs.110).aspxByVal
数组中的值在这些函数中被修改,并且在函数调用返回后更改可用。当我更改ByVal
为ByRef
in 函数MultiplyMatricesSequential(...)
时,没有任何变化,当我更改为ByRef
第二个函数时,IDE 抱怨在 Lambda 表达式中操作的参数不能通过引用传递。
ByVal
我现在想知道当强制使用时,调用者中的数组值如何变化?
vba - 在 VBA 中使用 ByVal
在我必须编写的插值方案中,我需要一个最小值和最大值函数,因此我快速编写了从我的插值函数中调用的函数 Min 和 Max。它看起来像这样:
但是,运行代码会提示“byref 参数类型不匹配”错误。事实证明,我必须通过将 ByVal 添加到函数参数来明确我传递值而不是引用:
现在我有两个问题:
- 我惊讶地发现我需要明确按值传递。在 C++ 中,函数变量默认按值传递。我是否应该得出结论,VBA 默认通过引用传递变量?
- 为什么将 Byval 添加到函数参数中会有所帮助?我没有看到类型之间的关系(因为错误应该是关于)和按值和/或引用传递....
提前谢谢了。
c++ - c ++函数按值调用不起作用
我对这段代码有疑问:
问题是当我看到原始图像时,它被“borrarFondo()”修改,但是这个函数是从“segmentarHoja”调用的,这里按值输入 img,但 img 修改了。
我不想更改原始图像