问题标签 [tobject]
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 - 为什么 TObject.AfterConstruction 和 BeforeConstruction 具有公共可见性?
今天,当我不得不重写TObject
的BeforeConstruction
方法时,我想到了一个非常简单的问题:
为什么TObject
方法AfterConstruction
和BeforeConstruction
有public
可见性?
我希望他们是protected
。他们不是的原因是什么?
我无法想象调用AfterConstruction
或BeforeConstruction
不调用该类的构造函数或析构函数的有效目的。你?
delphi - Delphi Livebinding 对象和组合框或单选按钮
我为业务逻辑定义了后续单元
现在我将设计一个用于编辑 TPerson 的表单,其中包含三个 TEdit 和一个 TCombobox 来选择性别。
如何为 TCombobox 使用双向实时绑定?
android - Android上的Delphi FireMonkey TListBox AddObject异常
我在为Delphi 10.0 SeattleTObject
的 FireMonkey 添加值时遇到问题。TListBox
Integer
将变量转换为TObject
指针时会引发异常。
我尝试了演员阵容TFmxObject
,但没有成功。在 Windows 上,演员阵容就像一个魅力,但在 Android 上却引发了例外。
这是我的代码:
class - Inno Setup 在事件处理程序中获取 TObject 类型/类
我有一个事件过程,用于检查两个对象/控件(和)的OnKeyUp
按键。两个对象都需要在启用之前完成。TNewEdit
TNewComboBox
TNewButton
但是,我找不到一种方法来知道如何获取 的类型Sender: TObject
,如果那是TNewEdit
or TNewComboBox
。
任何人都可以帮忙吗?
delphi - 变体记录而不是重载的对象类型?
我正在解决一个需要动态调整数组大小的问题,在这个问题上需要大量操作。我已经成功编写了两个类,t_one 和 t_two:
这两个对象的代码几乎相同,只是 Myarray1 在一种情况下是 single 数组,而在另一种情况下是 longint 数组。将其制成单个对象以使用变体数组的唯一方法是(这会减慢速度)吗?变体记录对于我正在做的事情也是低效的。如果我能说
这就是我的意思,但显然这种语法是诅咒。当然,有些地方方法调用和函数结果需要知道数据类型,但一旦定义它们是一致的。想法?使用变体数组并遭受减速?
c++ - C++Builder 中的 OnClick 事件签名问题
我想创建一个用另一个替换当前图像的函数。问题是我要替换 64 张图片。我创建了一个带有TImage* Sender
参数的函数,但它仅在我设置Sender
为时才有效TObject*
。
如何更改此功能:
进入这个
我正在使用 VCL 库。
delphi - Delphi调用基于TObject类型的虚拟构造函数
我有一个从 TStringList 对象派生的对象,我称之为“TAutoString”。它允许您在创建列表时指定对象类型。然后,每次将新条目添加到字符串列表时,它还会创建与该字符串条目关联的对象的副本。这使得与每个字符串一起存储各种附加信息变得很容易。例如:
在对象内部,类信息存储在类变量中:
现在,每次添加新项目时,它都会创建一个指定类型的新对象:
我现在可以添加或读取与每个字符串条目相关的信息。
当对象没有构造函数时,这很有效。如果对象有构造函数,则在创建对象时不会调用其构造函数,因为 TObject 的构造函数不是虚拟的。
谁能想到解决这个问题的方法。我见过使用 RTTI 库的解决方案,但这是在 Delphi-7 中,它没有 RTTI 库。
顺便说一句,TObject 的构造函数不是虚拟的似乎有点奇怪。如果是这样,它将启用各种有用的功能,例如我正在尝试实现的功能。
编辑:雷米的建议只是我需要的轻推。我最初尝试过类似的策略,但我无法让它发挥作用。当它看起来不像我认为的那样工作时,我认为一定有一些我不了解虚拟方法的地方。他的帖子促使我再看一遍。事实证明,我已经为要附加的对象的构造函数放弃了“覆盖”指令。现在它按应有的方式工作。
我担心的另一个问题是我已经在一堆其他应用程序中使用了自动字符串,其中对象基于“TObject”,我不想回去更改所有代码。我通过重载构造函数并为基于 TObject 的对象和另一个用于我的 TAutoClass 对象的构造函数解决了这个问题:
根据调用哪个构造函数,对象类存储在不同的变量中。
然后,当构建对象时,我会检查已分配的对象并使用该对象:
新版本完美地适用于任何一种类型的对象。
class - 有什么方法可以减少 Delphi 代码/以某种方式将其他对象放入变量中?
我有
如果我更改as TDateEdit
代码:
并使用这个:
代码有效....但我需要改变
我需要一种方法来更改此变量类型以减少我将使用的代码
但变量是
如何在不重复每种对象类型的代码的情况下做到这一点?