将对象实例转换为另一个实例的引用?

ZigiZ

在我的框架中,我有一个DataSource1实例,该实例在设计时已被丢弃在Form上。
在运行时的某个时刻,我需要将其“转换”为对另一个DataSource2的引用(在数据模块上)。

只是设置:

DataSource1 := DataSource2;

足以使DataSource1成为DataSource2的引用?看来此时尚未破坏DataSource1-当销毁DataSource2的所有者时,销毁了它,并且实际上有两个TDataSource实例。

还是我需要首先显式释放DataSource1?

DataSource1.Free;
DataSource1 := DataSource2;

正确的方法是什么?(除了首先声明将DataSource1作为参考)

戴维·赫弗南

当您声明变量具有从TObject继承的类型时,实际上是在声明一个指针。

调用构造函数时,您正在创建一个实例。构造函数返回一个指向该实例的指针。通常,您将指针分配给这样的变量:

Obj1 := TMyClass.Create;

您可以通过简单的分配使第二个变量指向或引用实例:

Obj2 := Obj1;

通过调用Free销毁对象:

Obj1.Free;

此时,Obj2指向一个不再存在的对象。我们说Obj2是陈旧的参考。

在您的情况下,您需要释放第一个对象:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

另一个对象内部的引用对象实例

来自分类Dev

将对象从接口实例分配到另一个接口实例

来自分类Dev

将对象从接口实例分配到另一个接口实例

来自分类Dev

将一个类实例转换为另一个类的实例

来自分类Dev

从另一个元素实例引用 Vue 实例

来自分类Dev

如何将对象从另一个文件实例化到另一个文件-JavaScript

来自分类Dev

如何将对象实例移动到另一个类?

来自分类Dev

Delphi:将对象内容复制到另一个实例中

来自分类Dev

引用相同对象类型的另一个对象实例的类对象属性

来自分类Dev

为什么我不能将一个泛型类型的实例转换为另一个实例?

来自分类Dev

RxJava:如何将对象列表转换为另一个对象列表

来自分类Dev

使用jQuery将对象数组转换为另一个对象数组

来自分类Dev

在F#中将对象映射/转换为另一个

来自分类Dev

从另一个步骤调用步骤抛出对象引用未设置为实例错误

来自分类Dev

将子类模型实例转换为Django中的另一个子类模型实例?

来自分类Dev

从另一个实例创建新对象

来自分类Dev

实例化另一个对象

来自分类Dev

python如何将一个类的实例变量转换为另一个类?

来自分类Dev

我可以在javascript中将一个类的实例动态转换为另一个类吗?

来自分类Dev

一个实例属性引用另一个实例属性,并在类实例化后进行更新

来自分类Dev

如何“将对象解析并转换为具有不同“键/值”结构的另一个对象”

来自分类Dev

在另一个线程上运行时,“对象引用未设置为对象的实例”

来自分类Dev

如何在不同类的另一个实例方法中引用实例方法?

来自分类Dev

从同一对象的不同实例中触发另一个实例的函数

来自分类Dev

实例化一个对象的类型取决于另一个对象的类型

来自分类Dev

在没有实例化的另一个对象旁边生成一个对象

来自分类Dev

有没有办法将对象转换为红宝石中的另一个类

来自分类Dev

Java:将属性从一个对象实例复制到另一个对象实例?

来自分类Dev

实例作为另一个实例的位置参数

Related 相关文章

  1. 1

    另一个对象内部的引用对象实例

  2. 2

    将对象从接口实例分配到另一个接口实例

  3. 3

    将对象从接口实例分配到另一个接口实例

  4. 4

    将一个类实例转换为另一个类的实例

  5. 5

    从另一个元素实例引用 Vue 实例

  6. 6

    如何将对象从另一个文件实例化到另一个文件-JavaScript

  7. 7

    如何将对象实例移动到另一个类?

  8. 8

    Delphi:将对象内容复制到另一个实例中

  9. 9

    引用相同对象类型的另一个对象实例的类对象属性

  10. 10

    为什么我不能将一个泛型类型的实例转换为另一个实例?

  11. 11

    RxJava:如何将对象列表转换为另一个对象列表

  12. 12

    使用jQuery将对象数组转换为另一个对象数组

  13. 13

    在F#中将对象映射/转换为另一个

  14. 14

    从另一个步骤调用步骤抛出对象引用未设置为实例错误

  15. 15

    将子类模型实例转换为Django中的另一个子类模型实例?

  16. 16

    从另一个实例创建新对象

  17. 17

    实例化另一个对象

  18. 18

    python如何将一个类的实例变量转换为另一个类?

  19. 19

    我可以在javascript中将一个类的实例动态转换为另一个类吗?

  20. 20

    一个实例属性引用另一个实例属性,并在类实例化后进行更新

  21. 21

    如何“将对象解析并转换为具有不同“键/值”结构的另一个对象”

  22. 22

    在另一个线程上运行时,“对象引用未设置为对象的实例”

  23. 23

    如何在不同类的另一个实例方法中引用实例方法?

  24. 24

    从同一对象的不同实例中触发另一个实例的函数

  25. 25

    实例化一个对象的类型取决于另一个对象的类型

  26. 26

    在没有实例化的另一个对象旁边生成一个对象

  27. 27

    有没有办法将对象转换为红宝石中的另一个类

  28. 28

    Java:将属性从一个对象实例复制到另一个对象实例?

  29. 29

    实例作为另一个实例的位置参数

热门标签

归档