Thema: Delphi Frage zum "is"-Operator

Einzelnen Beitrag anzeigen

QStorm

Registriert seit: 28. Jun 2008
46 Beiträge
 
#11

AW: Frage zum "is"-Operator

  Alt 23. Jan 2014, 16:56
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.

Geändert von QStorm (23. Jan 2014 um 17:15 Uhr)
  Mit Zitat antworten Zitat