2012-01-25 43 views
7

本機無法在XE2 Update 3中編譯時出現錯誤「內部錯誤:SY6315」。在XE中不存在這樣的問題。「初始化」部分使用匿名方法的奇怪錯誤

unit Test; 

interface 

uses 
    SysUtils; 

var 
    Proc: TProc; 

implementation 

initialization 
    Proc := procedure 
    var ByteArr: array of Byte; 
    begin 
     SetLength(ByteArr, 10); 
    end; 

end. 

有沒有人有這個問題的經驗?

更新:我已提交QC報告:QC#102888

+5

內部錯誤不應該浮出水面一種解決方法,你應該報告給http://qc.embarcadero.com。 –

回答

8

看起來像一個編譯器錯誤,這是使用TBytes

Proc := procedure 
    var 
    ByteArr: TBytes; 
    begin 
     SetLength(ByteArr, 10); 
    end; 
+3

+ 1,很好的回答嘿你是怎麼弄出來的?純粹的經驗? – PresleyDias

+0

您是否測試過如果使用另一種聲明類型「byte數組」也可以工作?如果是這樣,則表示在匿名方法中處理就地類型的錯誤。 –