2012-01-25 6 views
7

このユニットはXE2 Update 3でエラー "Internal Error: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

'array of byte'に別の宣言型を使用しても動作するかどうかテストしましたか?そうであれば、匿名メソッドのインプレース型を処理する際のエラーを示します。 –

関連する問題