2013-04-04 24 views
0

我正在使用C + + Builder 2009年。類TLargeintField找不到

我一直在做我的一個項目的一些國際工作。我已經將我的查詢組件升級到UniQuery組件,並將我的所有數據庫連接升級到UniDAC。現在,當我運行我的程序時,一些表單將在創建表單時拋出一些異常。

Project X.exe raised exception class EClassNotFound with message 'Class TLargeintField not found'. 

在網上做一些閱讀,提出了一些建議刪除所有字段的查詢組件並重新進行,我做到了,並仍然得到同樣的消息。我很好奇,如果我做錯了什麼,或者如果我需要添加對VCL的引用? http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/DB_TLargeintField.html

任何想法/建議表示讚賞。

附加信息:

下面是錯誤消息的屏幕截圖。

enter image description here

基於錯誤信息,這讓我覺得我可能要在頭文件的引用正確,但不能正確引用的lib文件。

我beleive爲VCL頭文件將是:

C:\Program Files (x86)\CodeGear\RAD Studio\6.0\include\vcl 

我試着加入以下到lib路徑,它仍然無法找到類:

C:\Program Files (x86)\CodeGear\RAD Studio\6.0\lib 
C:\Program Files (x86)\CodeGear\RAD Studio\6.0\lib\release 
C:\Program Files (x86)\CodeGear\RAD Studio\6.0\lib\psdk 

有什麼建議嗎?

回答

1

我發現了問題的根源。這個特殊的問題與korzh翻譯工具有關,在這個工具中,當你修改表單後,你需要刷新語言文件。這個過程多次運行編譯器,並且從我所知道的更新中爲每個文件更新不同的dfm。當我的區域設置被設置爲Itailian(意大利)時,此消息即將出現,並且看起來是引用了舊的dfm。刷新語言後,它看起來像我的其他嘗試(刪除然後讀取字段到UniQuery組件),解決了這個問題...

1

如果我沒有記錯,那麼DAC想要爲TLargeIntFile字段計算值,例如,但添加字段查詢時,它們被創建爲普通整數。

在我來說,我只是修改了.DFM formfile和手動更改字段類型:

object QMinutes: TLargeintField 
+0

謝謝Riho,我發現了我的問題的根源,並張貼我的解決方案下面。給你一個投票讚賞的信息。 – 2013-04-05 20:29:08