- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
据我了解 ObjPtr将返回内存中对象的地址,并且它指向一个名为 IUNKNOWN 的结构,并且其中编码了某种接口(interface)定义以公开对象结构,但我不知道如何确定一个对象的接口(interface)VBA 自定义类对象以及如何使用它返回对象的 Name 属性。
它比必需的更“有好处”,但我只想在运行时知道对象实例的名称,以便我可以将其包含在我的跟踪消息中。
谁能解释一下如何做到这一点,或者更好的是指导我引用引用资料,以便我能弄清楚?
编辑
重申我的目标:
创建一个能够找出其特定实例名称的自定义类对象。
例如
Dim oObject1 as Class1, oObject2 as Class1
Set oObject1 = New Class1
Set oObject2 = New Class1
Debug.Print oObject1.instanceName & " " & oObject2.instanceName
在立即窗口中:
oObject1 oObject2
这在 VBA 中可能吗?
如果 VBA 运行时有 Symbol Table - 因为它是解释性的,我想也许它确实如此 - 我有一种公开它的方法,然后我可以创建一个 Property Get 过程来访问符号表并搜索地址 - ObjPtr(Me) - 返回语义名称类的实例。
我很确定这是一个愚蠢的问题,但希望意识到这是一个愚蠢问题的过程有助于我的理解。
符号表示例
Address Type Name
00000020 a T_BIT
00000040 a F_BIT
00000080 a I_BIT
20000004 t irqvec
20000008 t fiqvec
2000000c t InitReset
20000018 T _main
20000024 t End
最佳答案
回答NO
。在 VBA 中不可能将实例名称作为字符串文字返回。
我仍然不明白你想要这样做的原因......无论如何
了解每个实例代码名称的最简单方法是为存储实际名称的类创建一个属性。这只会将名称公开为 String 属性,而不是对对象的实际引用 - 它本身已经有一个引用!
因此创建一个类模块
1级
Option Explicit
Public MyName as String
在Module1中,所需要的就是
Option Explicit
Sub Main()
Dim c As Class1
Set c = New Class1
c.MyName = "c"
Debug.Print c.MyName
End Sub
就这样吧:)
<小时/>另一种方法是创建一个字典来存储键/值对。
Sub Main()
Dim c As Class1
Set c = New Class1
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
dict.Add "c", c
Debug.Print dict.Exists("c")
End Sub
<小时/>
现在,实际上可以做你想做的事,但这将是一种非常丑陋的方式。以下是我不打算演示的方法。
您将创建自定义类的实例。使用 ObjPtr 你可以获取它在内存中的引用。然后,您需要一种机制来逐行扫描模块代码并查找已标注尺寸的所有变量的名称。一旦检索到所有变量的列表,您将需要一种机制来尝试创建相同类型(类)的实例。一旦超过了这一点,您可以尝试以编程方式 myNewObj = c
(“c”将是 obj 实例)。如果成功,那么您将为两者执行 ObjPt 并匹配它们在内存中的地址 - 您会得到一个知道变量名称的匹配。 Grree 请不要这样做:P
关于excel - 使用 ObjPtr(Me) 返回自定义类实例的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20487567/
好的,所以我编辑了以下... 只需将以下内容放入我的 custom.css #rt-utility .rt-block {CODE HERE} 但是当我尝试改变... 与 #rt-sideslid
在表格 View 中,我有一个自定义单元格(在界面生成器中高度为 500)。在该单元格中,我有一个 Collection View ,我按 (10,10,10,10) 固定到边缘。但是在 tablev
对于我的无能,我很抱歉,但总的来说,我对 Cocoa、Swift 和面向对象编程还很陌生。我的主要来源是《Cocoa Programming for OS X》(第 5 版),以及 Apple 的充满
我正在使用 meta-tegra 为我的 NVIDIA Jetson Nano 构建自定义图像。我需要 PyTorch,但没有它的配方。我在设备上构建了 PyTorch,并将其打包到设备上的轮子中。现
在 jquery 中使用 $.POST 和 $.GET 时,有没有办法将自定义变量添加到 URL 并发送它们?我尝试了以下方法: $.ajax({type:"POST", url:"file.php?
Traefik 已经默认实现了很多中间件,可以满足大部分我们日常的需求,但是在实际工作中,用户仍然还是有自定义中间件的需求,为解决这个问题,官方推出了一个 Traefik Pilot[1] 的功
我想让我的 CustomTextInputLayout 将 Widget.MaterialComponents.TextInputLayout.OutlinedBox 作为默认样式,无需在 XML 中
我在 ~/.emacs 中有以下自定义函数: (defun xi-rgrep (term) (grep-compute-defaults) (interactive "sSearch Te
我有下表: 考虑到每个月的权重,我的目标是在 5 个月内分散 10,000 个单位。与 10,000 相邻的行是我最好的尝试(我在这上面花了几个小时)。黄色是我所追求的。 我试图用来计算的逻辑如下:计
我的表单中有一个字段,它是文件类型。当用户点击保存图标时,我想自然地将文件上传到服务器并将文件名保存在数据库中。我尝试通过回显文件名来测试它,但它似乎不起作用。另外,如何将文件名添加到数据库中?是在模
我有一个 python 脚本来发送电子邮件,它工作得很好,但问题是当我检查我的电子邮件收件箱时。 我希望该用户名是自定义用户名,而不是整个电子邮件地址。 最佳答案 发件人地址应该使用的格式是: You
我想减小 ggcorrplot 中标记的大小,并减少文本和绘图之间的空间。 library(ggcorrplot) data(mtcars) corr <- round(cor(mtcars), 1)
GTK+ noob 问题在这里: 是否可以自定义 GtkFileChooserButton 或 GtkFileChooserDialog 以删除“位置”部分(左侧)和顶部的“位置”输入框? 我实际上要
我正在尝试在主页上使用 ajax 在 magento 中使用 ajax 显示流行的产品列表,我可以为 5 或“N”个产品执行此操作,但我想要的是将分页工具栏与结果集一起添加. 这是我添加的以显示流行产
我正在尝试使用 PasswordResetForm 内置函数。 由于我想要自定义表单字段,因此我编写了自己的表单: class FpasswordForm(PasswordResetForm):
据我了解,新的 Angular 7 提供了拖放功能。我搜索了有关 DnD 的 Tree 组件,但没有找到与树相关的内容。 我在 Stackblitz 上找到的一个工作示例.对比drag'ndrop功能
我必须开发一个自定义选项卡控件并决定使用 WPF/XAML 创建它,因为我无论如何都打算学习它。完成后应该是这样的: 到目前为止,我取得了很好的进展,但还有两个问题: 只有第一个/最后一个标签项应该有
我要定制xtable用于导出到 LaTeX。我知道有些问题是关于 xtable在这里,但我找不到我要找的具体东西。 以下是我的表的外观示例: my.table <- data.frame(Specif
用ejs在这里显示日期 它给我结果 Tue Feb 02 2016 16:02:24 GMT+0530 (IST) 但是我需要表现为 19th January, 2016 如何在ejs中执行此操作?
我想问在 JavaFX 中使用自定义对象制作 ListView 的最佳方法,我想要一个每个项目如下所示的列表: 我搜了一下,发现大部分人都是用细胞工厂的方法来做的。有没有其他办法?例如使用客户 fxm
我是一名优秀的程序员,十分优秀!