我有一个与此非常相似的代码来复制TADODataSet
组件及其事件。
所以,如果我有一个ADODataSet1
我想创建一个新实例ADODataSet2
作为前一个组件的完全相同的组件。
一切正常,但我仍然无法复制流字段(ADODataSet1PollID
, ADODataSet1Title
, ADODataSet1Description
):
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
end
我遇到的另一个问题是,如果ADODataSet1
设置为Active=True
,那么当我调用时ms.ReadComponent(Dest)
,Active
流式传输之前 Connection
会引发异常“缺少连接或连接字符串”。False
写后如何将 Active 设置为ms.WriteComponent(Source)
?(一种解决方法是ADODataSet1.Active := False
在复制之前进行设置)。
注意:我不想在数据集(TADODataSet.Clone)上克隆游标/记录集,所以请不要将其视为“重复问题”。