幾天來,我一直試圖解決這個錯誤,只是在運行我的項目時,我收到了一個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