1

Delphiでさらに別の問題が発生しています。データベーステーブルのフィールドが0に等しいかどうかをチェックし、それがtrueの場合、特定のボタンのフォントの色とキャプションを変更するコードを作成しました。メインフォームの作成時に実行されます。ただし、プログラムを実行しても何も起こりません。プログラムは表示されず、エラーも発生しません。何が悪いのか真剣にわかりません。ある種の無限ループのようです。

コードは次のとおりです。

procedure TForm1.FormCreate(Sender: TObject);
begin
ADOTableStorage.First;
while not ADOTableStorage.Eof do
    If ADOTableStorage.FieldByName('amount').AsInteger = 0 then
        begin
        btStorage.Font.Color := clRed;
        btStorage.Caption := 'Some items are out of stock!';
        Break;
        end;
    ADOTableStorage.Next;
end;

注:ADOTableStorageテーブルは、マスター/詳細接続の詳細テーブルにあります。

ありがとう!

4

1 に答える 1

3

whileループの開始/終了が欠落していると思います。これを試して。

procedure TForm1.FormCreate(Sender: TObject);
begin
  ADOTableStorage.First;
  while not ADOTableStorage.Eof do
  begin
    If ADOTableStorage.FieldByName('amount').AsInteger = 0 then
    begin
        btStorage.Font.Color := clRed;
        btStorage.Caption := 'Some items are out of stock!';
        Break;
    end;
    ADOTableStorage.Next;
  end;
end;
于 2011-05-23T20:28:55.103 に答える