Hallo nochmal.
Ich habe noch ein wenig debugged. Folgendes ist herausgekommen:
Nicht "ActiveControl" produziert das Problem. Hier der stark vereinfachte Code:
Code:
var
ActiveCtrl : TWinControl;
begin
ActiveCtrl := Self.ActiveControl;
ShowMessage(GetClassInheritancePathFrom(ActiveCtrl)); // 1
// UI wird gefüllt oder geleert und dann neu gefüllt
ShowMessage(GetClassInheritancePathFrom(ActiveCtrl)); // 2
end;
Der Pointer wird durch das Neufüllen der UI/Grid (wahrscheinlich im Grid) geändert. Hier die Ergebnisse von "GetClassInheritancePathFrom"
// 1: TObject->TPersistent->TComponent->TControl->TWinControl->TCustomEdit->TcxCustomInnerTextEdit
// 2: TObject->TPersistent->TComponent->TcxComponent->TcxControlChildComponent->TcxCustomGridView->TcxCustomGridTableView->TcxGridTableView
Hinweis: ActiveControl ist zum zeitpunkt "// 2" = NIL.
Das Problem ist, dass "TcxGridTableView" nicht von "TWinControl" erbt.