问题标签 [object-inspector]

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 投票
1 回答
424 浏览

delphi - 对象检查器中的星号是什么意思?

在 Delphi 的对象检查器中,我看到属性名称 ( ) 后面有一个星号ConnectionName*

对象检查器中的星号

它是如何到达那里的,最重要的是:它是什么意思?

在 TMySQLConnection 的源代码中,我没有看到任何特别之处,所以我猜这是设计时的事情?

更新

它与 TSQLConnection 的内容有关。

要重现,请将下面的代码粘贴到表单上。

经过一番尝试,我得出结论,当 Params 属性被编辑以使其不再具有默认值时,会出现星号。不过,这对我来说仍然是个谜。

0 投票
0 回答
65 浏览

forms - 如何在 Form 上添加属性并在对象检查器上查看它?

我读了一些文章,但没有任何帮助。我尝试将已发布的属性放在我的表单上,并尝试使用过程 Regiter 和 RegisterCustomModule,但没有解决任何问题。

0 投票
0 回答
302 浏览

c# - 如何在 Delphi ObjectInspector 中聚焦可视化 .NET 组件

我在 Delphi 项目中包含了一个可视化的 .NET 组件。在运行时使用这个组件可以正常工作,而 Delphi 设计器不能正常配合。在设计器中每次点击这个组件都会向组件本身发送一条消息(影响可见)。
但我想要的是在 IDE 设计器的对象检查器中查看此组件的已发布属性,以及调整大小并将组件拖放到表单上。

我考虑从 TWinControl.WndProc 方法继承并捕获 WM_MOUSEACTIVATE 和 WM_PARENTNOTIFY 消息(在设计器中单击组件时发送这些消息)并执行类似的操作...

在设计器中单击组件现在将其 BorderWidth 设置为 15。但它仍然没有集中在 IDE 的 Object Inspector 中。

该项目的附加信息:

我正在使用 Delphi XE7 和 Visual Studio 2013... 在 .NET 中,我正在为我的组件使用 ClassLibrary 项目。我从包含我的可视 c# 组件的UserControl继承了一个类。这个 ClassLibrary 被编译成我通过“regasm /tlb /codebase ClassLibrary.dll”注册的 DLL 文件。我还使用 tlibimp.exe 为 Delphi 生成 pas 文件。我编写了一个 Wrapperclass TDotNetControl,它派生自TOleControl,并覆盖/实现了 WndProc 过程。

从那个类TDotNetControl我派生了一个类TMyDotNetControl,它覆盖了 InitControlData 和 CreateInstance (来自TOleControl)。TMyDotNetControl被打包到我在 Delphi IDE 中构建和安装的包中。安装后,我可以从 Designer 的 ToolBox 中选择我的类TMyDotNetControl,然后我可以将它拖放到 WinForm 中。因为这是从 DLL 文件编译的类,所以组件在设计器中显示就像在运行时显示一样(如果我们不调用过程或设置属性)。

这就是事情变得混乱的时候。我只能拖动一次并调整它的大小。再次单击已编译的组件会在组件本身上触发 MouseEvent。这意味着,如果在 .NET 中实现了 mouseEvent 处理程序,则会调用并执行该处理程序方法(甚至在设计器中)。因此,我想要做的是捕捉 IDE 的点击消息,并使该方法在设计时将组件集中在对象检查器中进行编辑。(对象检查器显示TMyDotNetControl的已发布属性)

0 投票
2 回答
923 浏览

delphi - 从另一个表单访问 DataModule 的事件(delphi 设计时)

我想知道是否有任何方法可以将组件的事件(As TButton.OnClick)链接到数据模块中定义的过程(在设计时)。目前,我在运行时这样做:

目标是在 Object Inspector 窗口的下拉列表中获得建议的 MyDataModule.MyOnClickEvent。提前感谢所有将分享他们的知识的人:D

注意1: 这是一个类似的问题,但没有关于如何在设计时完成相同任务的信息: Access an event on a DataModule from another Form

注意2: 我发现的唯一方法是在父表单上定义所有事件,但我希望有一个更清洁的解决方案

0 投票
0 回答
40 浏览

delphi - 如何将另一个类设置为 TComponent 后代类的属性

我正在定义我的第一个组件,我希望它们可以使用 TMyOptions 类实例进行配置。

构造函数中的每个组件都会创建一个 TMyOptions 实例,该实例的定义如下例所示:

因此,在对象检查器中,我可以看到 TMyOptions 但无法更改值。有人能告诉我实现目标的正确方法是什么吗?谢谢大家。

0 投票
3 回答
713 浏览

string - 如何从对象检查器中使用 sLineBreak?

目前,我正在设置一个包含 sLineBreak 常量的字符串作为 TLabel 控件的 Caption 属性的值。

sLineBreak 在 System.pas 中定义如下(Delphi 2007):

有没有办法通过使用对象检查器来做同样的事情?(在设计时)。

更新: 可能将来我会将这个项目转移到更新的 IDE 并在不同的平台上开发,但目前没有特别的原因为什么我使用 sLineBreak 而不是 #13#10。我很抱歉造成误解。

0 投票
1 回答
375 浏览

delphi - 为什么选择多个项目时,某些属性会从对象检查器中隐藏?

我注意到选择多个项目时,某些属性会从对象检查器中消失。

为什么会发生这种情况以及在创建组件时如何控制这种行为?

例子:

将 2 个按钮 ( TButton) 添加到表单并选择其中一个。

在此处输入图像描述

Object Inspector中,您可以看到 allTButton的已发布属性(请注意,还有Constraints属性)。

在此处输入图像描述

将另一个按钮添加到当前选择中(按住Shift键时单击)。

在此处输入图像描述

如您所见,一些属性已从Object Inspector中隐藏(请注意,Constraints不再可见)。

在此处输入图像描述

0 投票
1 回答
390 浏览

java - 如何在java中获取原始对象检查器的字段名称

我正在尝试为我为 hiveql 环境创建的 UDF 解决这个问题。

我该怎么做才能在其中获取字段名称?它可以很容易地完成structObjectInspectors,但我们如何管理PrimitiveObjectInspectors呢?

完整的代码就是这个

当这完成时,我想从 hive 调用这个 udf:

我希望如果在上层选择中我这样做:sd.bit 我将获得“位”的值。

0 投票
1 回答
285 浏览

properties - Delphi 7 - 更改字体子属性不会更新组件

我制作的 StringGrid 在设计时遇到问题。当更改名为“Header”的属性时,该Invalidate方法可以正常工作,并且在设计时重新绘制 Grid。但是,当子属性Font时,当 Header 的字体在设计时更改时,Grid 不会更新。如果我在更改字体后单击网格或展开单元格,则会更新它。

这是我的代码:

英语不是我的语言,很抱歉有错别字。感谢你的帮助。

0 投票
0 回答
90 浏览

delphi - 如何在对象检查器中将 TCollectionItem 属性编辑器注册为对象列表?

我有一个在组件中发布的集合,我希望能够在对象检查器中选择一个集合项,而无需使用保存项目索引的方法。我已经将类型的属性发布到项目(TCollectionItem),但在对象检查器中它显示为一个子组件,没有选择另一个选项的选项。我注册了一个编辑器,以便可以显示项目列表,但是在单击项目下拉框时会出错。以下是该问题的说明性摘录:

在属性编辑器下面

当我打开属性下拉框时出现错误:“无效类型转换”。

如何正确实现此属性的属性编辑器?