2010-10-06 3 views
11

Ich benutze Delphi 7, und ich möchte eine benutzerdefinierte Warnmeldung erstellen (die zur Kompilierzeit angezeigt wird), so dass ich andere Programmierer auf einige Änderungen warnen kann. Ich habe im Internet gesucht, aber nichts Relevantes gefunden.Delphi 7 - Erstellen Sie eine benutzerdefinierte Warnung

Andere Lösungen, sind auch willkommen, wie lange andere Programmierer vor den Dingen gewarnt werden, die ich will, wenn sie die Quellen kompilieren/bauen.

Antwort

18

In D2007 können Sie

{$MESSAGE 'Hello'} 

oder

{$MESSAGE ERROR 'Hello'} 

schreiben - das documentation sehen. Diese works since D6 (Info mit freundlicher Genehmigung von Sertac Akyuz).

+0

+1 - Dieses Feature stand lange auf meiner Wunschliste. – splash

+2

Scheint verfügbar zu sein seit [Delphi 6] (http://www.blong.com/Seminars/Delphi6.htm#Compiler). –

+0

@Sertac - leider habe ich das nie bemerkt, obwohl unser Hauptprojekt noch in Delphi 6 entwickelt wird. – splash

1

Manchmal wünsche ich mir auch, dass ein solches Feature existiert. Leider kenne ich keine Lösung, die meine Anforderungen erfüllen könnte.

Der beste Ansatz, den ich mir spontan vorstellen könnte, wäre eine separate Nachrichtendatei, die von einem IDE-Experten synchronisiert wird. Sie können mit diesem Experten-ähnliche

neue DevExpress Komponenten (Build 123) erforderlich

und verpflichten sie den VCS-Repository eine neue Nachricht zu dieser Datei hinzufügen. Nachdem die anderen Entwickler ihre lokalen Arbeitskopien aktualisiert haben, vergleicht und synchronisiert IDE Experts die Nachrichtendatei mit einer lokalen Kopie und zeigt die neuen Nachrichten an.

+1

Man könnte so etwas wie {$ IF dxBuildNumber <66} {$ MESSAGE ERROR ‚DX Version> = 66 erforderlich} {$ IFEND} zu einer Einheit fügen. –

+0

Nochmals vielen Dank @Ulrich! Das ist ein guter Hinweis! Ich war mir der Existenz von $ IF nicht bewusst. Es gab nur "$ IFDEF" in meinen Gedanken. – splash

+0

Ich sehe oft Code von Drittanbietern, der $ IF mit vielen $ IFDEF verwenden könnte, da sie ältere Versionen von Delphi unterstützen wollen. Infolgedessen denken Leute, die den Code lesen, dass es der einzige Weg ist! –

3

Wir verwenden auch $ MESSAGE, aber mit der WARN-Anweisung. Normalerweise, um Entwickler darauf hinzuweisen, Einheiten nicht implizit direkt in ihre exe/bpl zu kompilieren, wenn sie bereits in einer anderen BPL enthalten ist, die sie als Paket verwenden sollten. D2005 hier.

{$MESSAGE WARN 'File: FOOUNIT contained in PACKAGE:-> FOOLIB'}