Cambie mi codigo para este abajo:
Código Delphi
[-]procedure TfrmOcorrenciaPendente.grdOcorrenciasCellClick(Column: TColumn);
procedure popula_lista;
var
contador,j: Integer;
bkm: TBookmarkList;
begin
frmAssociarOcor_Ocor_Direta.qryTem_Ocor.Open;
bkm := grdOcorrencias.SelectedRows;
frmAssociarOcor_Ocor_Direta.qryTem_Ocor.Open;
frmAssociarOcor_Ocor_Direta.qryTem_Ocor.delete;
for contador:= 0 to Pred(bkm.Count) do
Begin
if Contador > 11 then
begin
MessageDlg('Só é permitido associar 10 ocorrências a uma ocorrência pai',mtInformation,[mbOk],0);
associa := True;
Break;
end;
qryOcorrencias.BookMark := bkm[contador];
frmAssociarOcor_Ocor_Direta.qryTem_Ocor.Append;
qryTem_Ocor.FieldByName('TMP_ID').AsInteger := contador;
frmAssociarOcor_Ocor_Direta.qryTem_Ocor.FieldByName('TMP_ANO_OCORRENCIA').AsString := copy(grdOcorrencias.Fields[1].AsString,1,4);
frmAssociarOcor_Ocor_Direta.qryTem_Ocor.FieldByName('TMP_NUM_OCORRENCIA').AsString := copy(grdOcorrencias.Fields[1].AsString,6,Length(grdOcorrencias.Fields[1].AsString));
frmAssociarOcor_Ocor_Direta.qryTem_Ocor.FieldByName('TMP_DEFEITO_FALHA').AsString := grdOcorrencias.Fields[3].AsString;
frmAssociarOcor_Ocor_Direta.qryTem_Ocor.FieldByName('TMP_ALIM_PRIMARIO').AsString := grdOcorrencias.Fields[4].AsString;
frmAssociarOcor_Ocor_Direta.qryTem_Ocor.FieldByName('TMP_SUBESTACAO').AsString := Copy(grdOcorrencias.Fields[4].AsString,1,3);
frmAssociarOcor_Ocor_Direta.qryTem_Ocor.FieldByName('TMP_QTD_COMUNICACAO').AsInteger := grdOcorrencias.Fields[13].AsInteger;
frmAssociarOcor_Ocor_Direta.qryTem_Ocor.Post;
end;
end;
begin
if not Assigned(frmAssociarOcor_Ocor_Direta) then
frmAssociarOcor_Ocor_Direta := TfrmAssociarOcor_Ocor_Direta.Create(Self);
GravaItensSelecionado(grdOcorrencias);
end;
Pero que pasa es, que el esta en OnCellClick del grid. Yo hago click en uno y ok, pero quando yo hago click en otro, el carga en la tabla otra vez el que esta marcado y el nuevo, o sea, yo quedo con dos itenes iguales en mi tabla. Si escojo otro, entonces el graba nuevamente el nuevo y los demas que estan marcados(bookmark). Necesito contornar esto. Alguien puede me ayudar?