Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   DLangExtension Plugin (https://www.delphipraxis.net/99512-dlangextension-plugin.html)

Ghostwalker 13. Sep 2007 07:49


DLangExtension Plugin
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab mich mal etwas mit der DLangExtension von Andreas befasst (Hier zu finden). Dabei ist ein Plugin entstanden, mit dem man sehr einfach Funktionen und Prozeduren nur fürs debuggen deklarieren kann. Das spart zum einen viel Tipparbeit und macht den Code übersichtlicher, als wenn man das ganze mit $IFDEF's umsetzt.

Beispiel:

Delphi-Quellcode:

    procedure DebOut;[B]DEBUGONLY[/B];
    begin
      Showmessage('Debug Ausgabe');
    end;

    Procedure TForm1.button1click(sender:Tobject);
    begin
      debout;
    end;
Die Nachricht wird nur ausgegeben, wenn in den Compileroptionen das Symbol DEBUG definiert ist.

Normal würde das ganze so aussehen:

Delphi-Quellcode:
    {$IFDEF DEBUG}
    procedure DebOut;
    begin
      Showmessage('Debug Ausgabe');
    end;
    {$ENDIF}

    Procedure TForm1.button1click(sender:Tobject);
    begin
      {$IFDEF DEBUG}
      debout;
      {$ENDIF}
    end;
Die Benutzung geschieht, wie immer, auf eigene Gefahr. Fehler und Verbesserungen/Erweiterungen
könnt ihr gerne hier posten.

Matze 13. Sep 2007 08:00

Re: DLangExtension Plugin
 
Hallo,

schöne Idee, ich habe es allerdings noch nicht getestet.

Zitat:

Zitat von Ghostwalker
Das spart zum einen viel Tipparbeit und macht den Code übersichtlicher, als wenn man das ganze mit $IFDEF's umsetzt.

Dass es Tipparbeit spart, gebe ich dir recht, doch dass es unbedingt übersichtlicher ist, würde ich nicht behaupten. Das liegt daran, dass man nicht auf den ersten Blick sieht, was nur beim Debuggen ausgeführt wird und was generell. Um dies herauszufinden muss man erst zur Deklaration springen (es sei denn, man versiehst die Prozedur-/Funktionsnamen mit einem Präfix wie "dbg_").
Dies ist bei $IFDEF auf aufgrund des Highlightnings leichter erkennbar.

Ghostwalker 13. Sep 2007 08:11

Re: DLangExtension Plugin
 
Zitat:

Zitat von Matze
Hallo,

schöne Idee, ich habe es allerdings noch nicht getestet.

Danke :)

Zitat:

Zitat von Matze
Dass es Tipparbeit spart, gebe ich dir recht, doch dass es unbedingt übersichtlicher ist, würde ich nicht behaupten. Das liegt daran, dass man nicht auf den ersten Blick sieht, was nur beim Debuggen ausgeführt wird und was generell. Um dies herauszufinden muss man erst zur Deklaration springen (es sei denn, man versiehst die Prozedur-/Funktionsnamen mit einem Präfix wie "dbg_").
Dies ist bei $IFDEF auf aufgrund des Highlightnings leichter erkennbar.

Solange es sich nur um einfachen Code handelt, wie im Beispiel, gebe ich dir recht. Aber wenn man sich mal z.B. den Source der JVCL oder der JCL reinzieht, sieht man teilweise vor lauter IFDEF keinen Delphi-code mehr. :) Es wär natürlich sicher genial, wenn man die DEBUGONLY deklaration via Highlighting besser sichtbar machen könnte. Leider geht das, soweit ich weiß, bisher nicht.:(

jbg 13. Sep 2007 11:42

Re: DLangExtension Plugin
 
Zitat:

Zitat von Ghostwalker
Aber wenn man sich mal z.B. den Source der JVCL oder der JCL reinzieht, sieht man teilweise vor lauter IFDEF keinen Delphi-code mehr. :)

Das hat sich mittlerweile gebessert, nachdem der gesamte VisualCLX Code herausgeflogen ist.

Ghostwalker 13. Sep 2007 17:04

Re: DLangExtension Plugin
 
Kann sein, das das inzwischen anders ist (ich bin da nicht auf dem aktuellen Stand :) ). Es gibt aber viele Komponenten/Komponentensammlungen die vor IFDEFS nur so überquellen. :)

Man könnte das ganze auch noch ausdehnen...z.B. um BS Abhängigkeiten :gruebel:


Vielleicht gibts sogar ne Möglichkeit über die ToolsAPI eigene Wörter zu highlighten ? Wenn jemand das weiß, wäre das doch mal eine Erweiterung für die IDE wert :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz