これをDelphi 6,7およびXE2でテストしましたが、すべてこのエラーが表示されます。
私はこのように、直接のスレッドで2つの浮動小数点数を比較したいと思います:Delphiでは、なぜ、直接比較可能なthreadvarタイプの浮動小数点はありませんか?
threadvar
a,b : Double;
procedure test;
begin
if a > b then
;
end;
が、コンパイルするときに、DCCは、私はこのようにそれを変え内部error.So発生しました:
threadvar
a,b : Double;
procedure test;
begin
if a - b > 0 then
;
end;
を
エラーが消えた理由は何ですか?
「内部エラー」は、一般的に起こるべきものではありません。言い換えれば、これはおそらく、StackOverflowの誰かが「答える」プログラミングの質問ではなく、Embarcaderoの誰かが対処する必要のあるバグです。 –
最初のコードブロックを直接コピーしてそのままユニットに入れると、内部エラーが出ますか?あなたが 'プロシージャテスト 'で使用される前にaまたはbを初期化していないためかもしれませんか? –
使用しているDelphiのバージョンについては言及していません。 [DCC致命的なエラー] Unit1.pas(36):F2084内部エラー:URW2306 – vcldeveloper