Continuando con el tema del TMainMenu se me está presentando otro problema que no sé como abordar. En un formulario tengo un TMainMenu que construyo en tiempo de ejecución en función de los resultados de unas querys. Estoy usando este código:
Código PHP:
TMenuItem *mItem0 = new TMenuItem(this);
TMenuItem *mItem1 = new TMenuItem(this);
for (nItem = 0; nItem < Menu->Items->Count; nItem ++)
switch (nItem)
{
case 6:
fPersona->Auxiliar->Close();
fPersona->Auxiliar->SQL->Text = "SELECT COUNT(*) Hay FROM Persona WHERE Situacion IN (SELECT Valor FROM Instalacion WHERE Etiqueta = 'Situacion' AND Situacion = 1) AND N_afiliado = 0";
fPersona->Auxiliar->Open();
if (fPersona->Auxiliar->FieldByName("Hay")->AsInteger > 0)
{
mItem0 = Menu->Items->Items[nItem];
mItem0->OnClick = NULL;
mItem1 = new TMenuItem(mItem0);
mItem0->Add(mItem1);
mItem1->Caption = "Sin número de afiliado";
mItem1->Tag = 61;
mItem1->OnClick = JlocalClick;
mItem1->OnDrawItem = JlocalDrawItem;
mItem1 = new TMenuItem(mItem0);
mItem0->Add(mItem1);
mItem1->Caption = "Todas";
mItem1->Tag = 62;
mItem1->OnClick = JlocalClick;
mItem1->OnDrawItem = JlocalDrawItem;
}
break;
case 7:
break;
case 8:
break;
}
Hay otras opciones del menú que son fijas siempre y en las que tengo definido en tiempo de diseño el mismo evento
JlocalDrawItem. Sin embargo, tal como tengo puesto el código al compilar me este error:
Cita:
E2034 Cannot convert 'void (_fastcall* (_closure)(T0bject*,TCanvas *,TRect&,bool))(T0bject*,TCanvas_*,TRect&,bool)' to 'void (_fastcall* (_closure)(T0bject*,TCanvas *,const TRect&,bool))(T0bject*,TCanvas *,const TRect&,bool)'
|
He mirado la ayuda para ese error pero no me resuelve ninguna duda y ya no sé por dónde coger para solucionarlo.