Einzelnen Beitrag anzeigen

freimatz

Registriert seit: 20. Mai 2010
1.380 Beiträge
 
Delphi 11 Alexandria
 
#1

interfaces und Debugger

  Alt 17. Nov 2021, 10:21
Hallo zusammen,
ich verwende gerne interfaces u.a. als DTOs. Beispiel:
Delphi-Quellcode:
type
  IBlaInput = interface(IDataTransferObjectBase)
    ['{2106667F-B81D-4ACF-A8D6-740936FA0259}']
    function GetDatumSystemType(): datumSystemTypeET;
    ...
    property DatumSystemType: datumSystemTypeET read GetDatumSystemType;
    ...
  end;

function CreateCharactIsoPositionEffectiveLengthCalculatorInput(const p_DatumSystemType: datumSystemTypeET; ...: IBlaInput;

  TCharactIsoPositionEffectiveLengthCalculatorInput = class(TDataTransferObjectBase,
    ICharactIsoPositionEffectiveLengthCalculatorInput)
  strict private
    FDatumSystemType : datumSystemTypeET;
    ...
    function GetDatumSystemType(): datumSystemTypeET;
    ...
  public
    constructor Create(const p_DatumSystemType: datumSystemTypeET; ...);
    property DatumSystemType: datumSystemTypeET read GetDatumSystemType;
    ...
  end;
In dem Fall sind es reine Datenhalter um Informationen irgendwo hinzuschicken. Aber auch sonst verwenden wir oft interfaces. Insbsondere muss man sich dann (meist) nicht um die Freigabe kümmern was oft Fehler vermeidet.
Gegenüber einer normalen Klasse oder gar einem Record hat die Sache einen grossen Nachteil: der Debugger kommt damit nicht klar. Bei einem Record setzt man das einfach ins Watch-Fenster und sieht alles. Bei einem interface sieht man keine Daten und muss erst die Properties angeben.

Wie macht Ihr das? Habt Ihr Ideen wie man das bessern könnte? (Falls ihr überhaupt versteht was ich meine )

Geändert von freimatz (17. Nov 2021 um 10:27 Uhr)
  Mit Zitat antworten Zitat