在釋放模式下構建我的應用程序時,我的一個文件結尾處出現內部錯誤URW1135。我在網上搜索,發現(here),這可能是有關通用類型的數組一樣內部錯誤URW1135
MyClass <T> = class
FArray : array of T;
end;
所以,我申請所提出的解決辦法在我的整個代碼庫(聲明一個類TArrayType = T的陣列)。
但不幸的是,錯誤仍然存在。任何想法可能是錯的?令人驚訝的是,在調試模式下一切正常。
在此先感謝。
在釋放模式下構建我的應用程序時,我的一個文件結尾處出現內部錯誤URW1135。我在網上搜索,發現(here),這可能是有關通用類型的數組一樣內部錯誤URW1135
MyClass <T> = class
FArray : array of T;
end;
所以,我申請所提出的解決辦法在我的整個代碼庫(聲明一個類TArrayType = T的陣列)。
但不幸的是,錯誤仍然存在。任何想法可能是錯的?令人驚訝的是,在調試模式下一切正常。
在此先感謝。
在D2009編譯器中仍然存在一些不同的與泛型有關的問題,即使在Update 3修復了一些問題之後。大多數剩下的將會產生編譯器致命錯誤,URW 1135是最常見的錯誤之一。如果該解決方案無效,請尋找其他人。
編譯器在將一個專門的泛型類聲明在一個地方並在別的地方使用時遇到了麻煩。例如,在一個單元:
type
TMyList = TObjectList<TMyClass>;
在另一單元:
var
myList: TMyList;
這可能或可能不導致編譯器錯誤,主要基於所述隨機數神的率性。
我一直在努力識別和報告儘可能多的這些錯誤,儘管我還沒有看到任何只在發佈模式下顯示的錯誤。如果您可以追溯到特定事件,請將其報告給QC以便他們修復。希望德爾福2010年將免於泛型的問題。
這是項目選項中的Code inlining control
設置。如果它設置爲auto,它不會很好地仿效泛型。將其設置爲或或off在我的發行版中,它允許它在沒有內部錯誤的情況下進行編譯。
這對我來說也是這樣。確實。 – 2012-06-07 09:36:44
當覆蓋泛型類中的過程時,我遇到了同樣的錯誤。我不得不改變我的代碼,不要重寫父進程,而是用不同的參數在父進程中複製過程,並讓我的泛型類調用它。不是我想要的,但解決了我的問題。 – Alisson 2016-02-01 16:49:48