Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: Data-Pointer in Interfacevariable casten

  Alt 14. Jul 2010, 11:15
Ein Pointer ist halt kein Interface.

Delphi-Quellcode:
i := IDataObject(ListViewMain.Selected.Data);
// oder
i := Interface(ListViewMain.Selected.Data) as IDataObject;

PS: Wie regelst du denn die Referenzzählung?
Wenn keine andereren Referenzen auf das Interface bestehen und du dieses nicht beachtest, dann würde das Interface freigegeben, auch wenn du dieses hier verlinkt hast, falls du keine Referenz hierfür beantragst.
Delphi-Quellcode:
// zuweisen
ListViewMain.Selected.Data := Pointer(DataObject);
DataObject._AddRef;

// vorm freigeben
DataObject.__Release;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat