相关疑难解决方法(0)

将TObject保存到文件

如何将当前状态的Object保存到文件中?这样它就可以立即被所有变量读取和恢复.

delphi object save delphi-7

10
推荐指数
2
解决办法
1万
查看次数

在运行时删除并替换可视组件

例如,是否可以在运行时使用实例化(有条件地)的子类组件替换和释放TEdit?如果是这样,应该如何以及何时完成?我试图将父设置为nil并在表单构造函数和AfterConstruction方法中调用free(),但在这两种情况下我都遇到了运行时错误.


更具体一点,我遇到了访问冲突错误(EAccessViolation).看起来弗朗索瓦是正确的,他说在框架构造中释放组件会使用Form来控制内务管理.

delphi vcl

7
推荐指数
2
解决办法
6138
查看次数

如何复制组件/控件?

可能重复:
在运行时复制组件

我有一个TMyControl(Control1)与它自己的属性/事件.
如何创建Control2具有完全相同属性/事件的重复实例?


更具体地说,我想克隆现有TADODataSet的流媒体字段(和一些事件):

object ADODataSet1: TADODataSet
  Connection = ADOConnection1
  CursorType = ctStatic
  AfterOpen = ADODataSet1AfterOpen
  CommandText = 'select top 10  * from Polls'
  Parameters = <>
  Left = 224
  Top = 40
  object ADODataSet1PollID: TGuidField
    FieldName = 'PollID'
    FixedChar = True
    Size = 38
  end
  object ADODataSet1Title: TWideStringField
    FieldName = 'Title'
    Size = 255
  end
  object ADODataSet1Description: TWideStringField
    FieldName = 'Description'
    Size = 4000
  end
  object ADODataSet1PollType: TIntegerField …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-7

3
推荐指数
1
解决办法
3572
查看次数

在运行时复制TPanel及其所有控件

德尔福5版.我有一个文件比较应用程序我在一起,它在主窗体上有一个左,右面板.每个面板(pnlLeft和pnlRight)具有相同的控件和事件范围,仅按名称分隔.即btnCheckLeft(...和btnCheckRight(......)我在保持代码更改在两个Panel之间同步时遇到问题.

我想知道我是否可以使用所有控件和事件制作单个Panel(在单独的Form上),然后在运行时将其复制两次,一次用于pnlLeft,另一次用于pnlRight到主窗体.在单个表单上,我可以只管理一次编码,而不是尝试复制所有内容.

在此过程中,将"对齐"和"事件"名称设置为应用于每个副本,如...

第一个复制到空白主表单...

pnlLeft.Align:=alLeft;
pnlLeft.Button1Click(Sender)...
Run Code Online (Sandbox Code Playgroud)

第二份副本

pnlRight.Align:=alLeft;
pnlRight.Button1Click(Sender)...
Run Code Online (Sandbox Code Playgroud)

怎么可能?我想我需要一个完整Panel的Component,但我还不够熟练,无法创建这种复杂性的Component.

我检查了 如何将delphi上TPanel的所有TLabel复制到另一个TPanel?

运行时的复制组件

但不要以为任何一个都会做我需要的.

感谢您提供的任何帮助.

delphi controls runtime delphi-5

1
推荐指数
1
解决办法
2118
查看次数

标签 统计

delphi ×4

delphi-7 ×2

controls ×1

delphi-5 ×1

object ×1

runtime ×1

save ×1

vcl ×1