问题标签 [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.
delphi - 对象检查器中的星号是什么意思?
在 Delphi 的对象检查器中,我看到属性名称 ( ) 后面有一个星号ConnectionName*
:
它是如何到达那里的,最重要的是:它是什么意思?
在 TMySQLConnection 的源代码中,我没有看到任何特别之处,所以我猜这是设计时的事情?
更新
它与 TSQLConnection 的内容有关。
要重现,请将下面的代码粘贴到表单上。
经过一番尝试,我得出结论,当 Params 属性被编辑以使其不再具有默认值时,会出现星号。不过,这对我来说仍然是个谜。
forms - 如何在 Form 上添加属性并在对象检查器上查看它?
我读了一些文章,但没有任何帮助。我尝试将已发布的属性放在我的表单上,并尝试使用过程 Regiter 和 RegisterCustomModule,但没有解决任何问题。
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的已发布属性)
delphi - 从另一个表单访问 DataModule 的事件(delphi 设计时)
我想知道是否有任何方法可以将组件的事件(As TButton.OnClick
)链接到数据模块中定义的过程(在设计时)。目前,我在运行时这样做:
目标是在 Object Inspector 窗口的下拉列表中获得建议的 MyDataModule.MyOnClickEvent。提前感谢所有将分享他们的知识的人:D
注意1: 这是一个类似的问题,但没有关于如何在设计时完成相同任务的信息: Access an event on a DataModule from another Form
注意2: 我发现的唯一方法是在父表单上定义所有事件,但我希望有一个更清洁的解决方案
delphi - 如何将另一个类设置为 TComponent 后代类的属性
我正在定义我的第一个组件,我希望它们可以使用 TMyOptions 类实例进行配置。
构造函数中的每个组件都会创建一个 TMyOptions 实例,该实例的定义如下例所示:
因此,在对象检查器中,我可以看到 TMyOptions 但无法更改值。有人能告诉我实现目标的正确方法是什么吗?谢谢大家。
string - 如何从对象检查器中使用 sLineBreak?
目前,我正在设置一个包含 sLineBreak 常量的字符串作为 TLabel 控件的 Caption 属性的值。
sLineBreak 在 System.pas 中定义如下(Delphi 2007):
有没有办法通过使用对象检查器来做同样的事情?(在设计时)。
更新: 可能将来我会将这个项目转移到更新的 IDE 并在不同的平台上开发,但目前没有特别的原因为什么我使用 sLineBreak 而不是 #13#10。我很抱歉造成误解。
java - 如何在java中获取原始对象检查器的字段名称
我正在尝试为我为 hiveql 环境创建的 UDF 解决这个问题。
我该怎么做才能在其中获取字段名称?它可以很容易地完成structObjectInspectors
,但我们如何管理PrimitiveObjectInspectors
呢?
完整的代码就是这个
当这完成时,我想从 hive 调用这个 udf:
我希望如果在上层选择中我这样做:sd.bit 我将获得“位”的值。
properties - Delphi 7 - 更改字体子属性不会更新组件
我制作的 StringGrid 在设计时遇到问题。当更改名为“Header”的属性时,该Invalidate
方法可以正常工作,并且在设计时重新绘制 Grid。但是,当子属性Font
时,当 Header 的字体在设计时更改时,Grid 不会更新。如果我在更改字体后单击网格或展开单元格,则会更新它。
这是我的代码:
英语不是我的语言,很抱歉有错别字。感谢你的帮助。
delphi - 如何在对象检查器中将 TCollectionItem 属性编辑器注册为对象列表?
我有一个在组件中发布的集合,我希望能够在对象检查器中选择一个集合项,而无需使用保存项目索引的方法。我已经将类型的属性发布到项目(TCollectionItem),但在对象检查器中它显示为一个子组件,没有选择另一个选项的选项。我注册了一个编辑器,以便可以显示项目列表,但是在单击项目下拉框时会出错。以下是该问题的说明性摘录:
在属性编辑器下面
当我打开属性下拉框时出现错误:“无效类型转换”。
如何正确实现此属性的属性编辑器?