几天来,我一直试图解决这个错误,只是在运行我的项目时,我收到了一个stackoverflow错误。当我创建一个具有四个查找字段的TClientDataSet时,错误就开始了。在调试模式下,我没有收到任何信息(或者我理解的),当在设计模式下激活Clientdataset时,Delphi XE6 IDE会崩溃并退出。当clientdataset打开时在IDE中的Stackoverflow
我使用MySQL。
下面是来自.DFM文件的TClientdataSet定义:
object cdstblocal: TClientDataSet
Aggregates = <>
Params = <>
ProviderName = 'dsptblocal'
Left = 1048
Top = 192
object cdstblocallocId: TIntegerField
FieldName = 'locId'
ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
end
object cdstblocallocEst_Id: TIntegerField
FieldName = 'locEst_Id'
end
object cdstblocallocTip_Id: TIntegerField
FieldName = 'locTip_Id'
end
object cdstblocallocBH_Id: TIntegerField
FieldName = 'locBH_Id'
end
object cdstblocallocRio_Id: TIntegerField
FieldName = 'locRio_Id'
end
object cdstblocallocDat_Id: TIntegerField
FieldName = 'locDat_Id'
Required = True
end
object cdstblocallocNome: TStringField
FieldName = 'locNome'
Size = 45
end
object cdstblocallocSigla: TStringField
FieldName = 'locSigla'
Size = 8
end
object cdstblocallocLat: TFloatField
FieldName = 'locLat'
end
object cdstblocallocLong: TFloatField
FieldName = 'locLong'
end
object cdstblocallocAlt: TFloatField
FieldName = 'locAlt'
end
object cdstblocallocComent: TStringField
FieldName = 'locComent'
Size = 100
end
object cdstblocallocData: TSQLTimeStampField
FieldName = 'locData'
end
object cdstblocallistbh: TStringField
FieldKind = fkLookup
FieldName = 'listbh'
LookupDataSet = cdstbbh
LookupKeyFields = 'bhId'
LookupResultField = 'bhNome'
KeyFields = 'locBH_Id'
Lookup = True
end
object cdstblocallistrio: TStringField
FieldKind = fkLookup
FieldName = 'listrio'
LookupDataSet = cdstbrio
LookupKeyFields = 'rioId'
LookupResultField = 'rioNome'
KeyFields = 'locRio_Id'
Lookup = True
end
object cdstblocallisttip: TStringField
FieldKind = fkLookup
FieldName = 'listtip'
LookupDataSet = cdstblocal_tipo
LookupKeyFields = 'locTipId'
LookupResultField = 'locTipNome'
KeyFields = 'locId'
Lookup = True
end
object cdstblocallistest: TStringField
FieldKind = fkLookup
FieldName = 'listest'
LookupDataSet = cdstblocal_estado
LookupKeyFields = 'locEstId'
LookupResultField = 'locEstNome'
KeyFields = 'locEst_Id'
Lookup = True
end
end
谢谢@JerryDodge,这个问题确实缺少一些信息。我只是把一个clientdataset放在一个datamodule中,创建查找字段并点击活动的delphi崩溃,而没有其他代码写我。所以问题可能出现在我的数据库中。 – 2014-12-05 15:45:20
@JerryDodge说什么。但是,由于您在设计模式中声称您的项目会使IDE崩溃,因此它不能成为您的代码(当然,除非您使用任何自写组件)。你可以做的一件事是将你的表单(或数据模块)剥离到最低限度,然后将DFM的文本版本添加到你的q - 这样我们可能有机会重现你的问题。是否有任何查找字段共享相同的数据集以进行数据查找? – MartynA 2014-12-05 15:48:27
此外,请检查您是否设法将您的数据集连接到“循环中”。如果环路IIRC中只有2个数据集,IDE将检测到并阻止您,但我不确定关于多于2个。 – MartynA 2014-12-05 15:55:29