Delphiの If ~ then ~ else のコーディングで注意事項があります。

【正常な例】

if Data = 1 then
  ...
else
  ...

【不具合事例】 begin end を使用しないで複数個を判断する処理

if Data = 1 then
  ...
else
if Data = 2 then
  ...
else
if Data = 3 then
  ...
else
if Data = 4 then
  ...

この場合、最初の Data=1 の条件時のみ実行され、その他は無視されてしまいま す。 ついやりがちな処理です。注意してください。 (なにやら納得できないところもありますが、Delphiコーディング規約に記入 されているとのことです。)

【不具合修正例】

if Data = 1 then
begin
  ...
end
else
if Data = 2 then
begin
  ...
end
else
if Data = 3 then
begin
  ...
end
else
if Data = 4 then
begin
  ...
end
最終更新:2009年02月05日 15:28