Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TObject As Interface

  Alt 16. Jul 2019, 12:56
Ohne groß nachzudenken würde ich es so versuchen:
Delphi-Quellcode:
Procedure AutoGridHint(
  sgCurr : TStringGrid;
  const iCol : Integer;
  const iRow : Integer
);
var
  GridObj : IGridInfo;
  sHint : String;
Begin
  if Assigned(sgCurr.Objects[0, iRow]) AND
     Supports(sgCurr.Objects[0, iRow], IGridInfo, GridObj) then
  Begin
    //GridObj := IGridInfo(sgCurr.Objects[0, iRow]); // <- Nope
    sHint := GridObj.GetVal(iCol);
    if (sgCurr.Hint <> sHint) then
    Begin
      Application.CancelHint();
      sgCurr.Hint := sHint;
    End;
  End;
End;
[edit] Vermutlich wäre es aber sachdienlicher, TGridInfo nicht von TInterfacedObject, sondern von TInterfacedPersistent abzuleiten, um die Referenzzählung und damit ein unbeabsichtigtes Freigeben zu umgehen. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (16. Jul 2019 um 13:11 Uhr)
  Mit Zitat antworten Zitat