Ciao a tutti,

ho un problema e non riesco a capire come risolvere.

da un menu, apro un form dove gestisco tramite IBDataset la tabella fornitori.

sull'evento OnShow di questa form eseguo:
codice:
procedure TFrmFornitori.FormShow(Sender: TObject);
begin
 Setta_Bottoni_Start ;
end;

procedure Setta_Bottoni_Start ;
begin
 FrmFornitori.Edit1.Enabled       := True ;
 FrmFornitori.BtnCerca.Enabled    := True ;
 FrmFornitori.BtnOK.Enabled       := False ;
 FrmFornitori.BtnAnnulla.Enabled  := False ;
 FrmFornitori.BtnCancella.Enabled := False ;
 FrmFornitori.BtnFine.Enabled     := True ;
 FrmFornitori.Edit1.SetFocus ;
end;
settando i bottoni per gestire gli eventi.

prmendo sul bottone 'BtnCerca' eseguo la query ed ottengo IBdataset1, e poi attivo gli opportuni pulsanti:
codice:
procedure TFrmFornitori.BtnCercaClick(Sender: TObject);
begin
 IBDataSet1.Close;
 IBdataset1.SelectSQL.Text := 'SELECT * FROM Fornitori WHERE upper(CODICE) = :ParParola';
 IBdataset1.ParamByName('ParParola').AsString := FrmFornitori.Edit1.Text;
 IBdataset1.Open;
 Setta_Bottoni_Cerca ;
end;

procedure Setta_Bottoni_Cerca ;
begin
 FrmFornitori.Edit1.Enabled       := False ;
 FrmFornitori.BtnCerca.Enabled    := False ;
 FrmFornitori.BtnOK.Enabled       := True ;
 FrmFornitori.BtnAnnulla.Enabled  := True ;
 FrmFornitori.BtnCancella.Enabled := not FrmFornitori.IBDataSet1.IsEmpty ;
 FrmFornitori.BtnFine.Enabled     := True ;
 FrmFornitori.DBEditNome.SetFocus ;
end;
fin qui tutto ok.
e funziona tutto bene se apro unicamente una sola form.

se apro due volte la stessa form...
codice:
  Application.CreateForm(TFrmFornitori , FrmFornitori )
succede che quando premo un pulsante della fom1..si sposta sulla form2.
sto continando a vedere ma non riesco a capire dove sta il problema.

xfavore, qualcuno mi sa aiutare?

grazie