Ereignis eines Button auslösen
-
ich löse das Ereignis eines Button1 durch einen Button2 auf einem
MDIChild aus.void __fastcall TfrmNews::Button2Click(TObject Sender)
{
TfrmChild kind = dynamic_cast<TfrmChild*>(frmStart->ActiveMDIChild);
kind->Button1Click(Sender);
}wenn ich aber diese Funktion in das OnShow - Ereignis des MDIChild packe bekomme ich eine Exception 'EAccessViolation'
Was mache ich da falsch?
-
das Problem hatte ich auch schon, ich hab's einfach ins onActivate-Ereignis gepackt und fertig war. Versuch's mal.
-
Aber ich würde es auch gerne verstehn, warum das bei OnActivate funktioniert und bei OnShow nicht.
-
Kann es sein, daß es bei OnShow noch gar kein ActiveMDIChild gibt? Prüf mal den erhaltenen Zeiger auf NULL.
-
Vor einem Zugriff auf einem mit dynamic_cast gecasteten Zeiger sollte man sowieso immer auf NULL prüfen. Sonst geht einem ja der Vorteil von dynamic_cast flöten!
-junix