Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
3.898 Beiträge
 
Delphi 12 Athens
 
#3

AW: Open Source "Logging Facade" für Pascal auf Github

  Alt 29. Jan 2016, 11:25
Sieht interessant aus,

aber was ich mich bei dem Thema immer frage:
Gibt es in Delphi eigentlich die Möglichkeit eine "leere" Prozedur zu definieren,
als Beispiel mal das Object.Free

Delphi-Quellcode:
procedure TObject.Free;
begin
// under ARC, this method isn't actually called since the compiler translates
// the call to be a mere nil assignment to the instance variable, which then calls _InstClear
{$IFNDEF AUTOREFCOUNT}
  if Self <> nil then
    Destroy;
{$ENDIF}
end;
So das man beim Aufruf nicht immer hier reinspreingen muss, wenn nichts drin steht.

Also Obj.Free; wird doch immer aufgerufen, mit ein paar Zeilen Assembler für in- out-management.

Aber schön wäre doch eine Debug Prozedur die gar nicht erst kompiliert wird, oder wenigstens ein nop,
(natürlich ohne Fehlermeldungen), wenn das DEBUG Define nicht vorhanden ist.

Ich denke da an soetwas wie die Defines/Macros von CPP, diese werden beim PreCompiler einfach ignotiert
wenn nichts drinsteht.

Also
bei DEBUG Define:
Log.Debug('Blah'); // wird aufgerufen und macht ihr Ding

ohne DEBUG Define:
Log.Debug('Blah'); // wird einfach ignoriert, und muss nicht erst rein- rausgesprungen werden

Geht das, evtl. mit Interfaces ?


Rollo
  Mit Zitat antworten Zitat