Bonjour,

J'ai un problème avec une TStringGrid. Je construit dynamiquement une image dans celle-ci. J'ai besoin de gérer le clic sur cette image pour la faire disparaitre.
Plus concretement :
Je crée mon image
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
TImage* CleBox=new TImage(StringGrid1);
CleBox->Parent=StringGrid1;
CleBox->Picture->LoadFromFile("images\\ok.bmp");
StringGrid1->Objects[ACol][ARow]=CleBox;
StringGrid1DrawCell(Sender, ACol,ARow, StringGrid1->CellRect(ACol,ARow),TGridDrawState());
      CleBox->OnClick = ImageOnClick;
J'ai ma fonction du traitement du click
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
void __fastcall TForm2::ImageOnClick(TObject *Sender)
{
  int Col, Row;
  StringGrid1->MouseToCell(((TImage*)Sender)->Left, ((TImage*)Sender)->Top, Col, Row);
  StringGrid1SelectCell(Sender, Col, Row, true);
}
Puis dans StringGrid1SelectCell (donc je simule une selection de la case avec un click sur l'image)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 delete StringGrid1->Objects[ACol][ARow];
StringGrid1->Objects[ACol][ARow]=NULL;
Puis la je me retrouve avec une violation de mémoire ...

Quelqu'un sait d'ou cela peut venir ?

Merci d'avance