In einem Dunit-Projekt und exe-Version Informationen deaktiviert ist, wie bekomme ich es zurück?

8

Warum kann ich keine Versionsinformationen in einem Dunit Test-Projekt festlegen? Das Kontrollkästchen ist für dieses Projekt deaktiviert, nicht jedoch für andere Projekte. Siehe den Screenshot:

    
Rafael Colucci 27.03.2012, 14:18
quelle

2 Antworten

13

Möglicherweise fehlt die Direktive {$ R * .res} in der Quelle Ihres Testprojekts. Es muss in der .dpr sein oder Sie können diese Funktion nicht in den Projektoptionen verwenden.

Es sollte standardmäßig vorhanden sein, aber gelegentlich kann es beim Hinzufügen oder Entfernen einer Einheit aus einem Projekt zu Fehlern kommen. Wenn dies passiert, sieht es so aus:

%Vor%

Wenn dies passierte und ein Entwickler nicht wusste, was er sah, löschten sie vielleicht gerade die problematische Zeile.

Wenn das Testprojekt als Befehlszeilenprojekt gestartet wurde, war diese Anweisung möglicherweise noch nicht mit dieser Anweisung gestartet worden.

    
Kenneth Cochran 27.03.2012, 14:29
quelle
7

DUnit-Unit-Test-Projekte sind nicht wie andere Delphi-Projekte aufgebaut. Daher sehen Sie, dass sie standardmäßig keine Ressourcendatei hat. Dies war der Grund, warum die Registerkarte "Versionsinfo" deaktiviert wurde, bis Sie die {$R *.RES} -Deklaration angeben in dir selbst.

DUnit-Projekte können in einer von zwei Konfigurationen erstellt werden, mit einem GUI-Test-Runner (der die VCL verwendet, den Sie aber normalerweise nicht ändern sollten, die GUI ist in Stein gemeißelt) oder einem Test Runner im Konsolenmodus. Während eine Konsolenanwendung eine Ressourcendatei verknüpfen kann und daher Versionsinformationen enthalten kann, und tatsächlich viele Konsolenanwendungen dies tun, ist der Grund, warum Sie sehen, dass DUnit's Test-Runner-Framework und Unit-Test-Projekte dies nicht tun so konstruiert, wie Sie es gewohnt sind.

Dies verwirrt wiederum die IDE, und die IDE deaktiviert die relevanten Abschnitte. Sie können möglicherweise das {$ R} wieder hinzufügen, und das scheint zu funktionieren, da Sie Kenneths Antwort akzeptiert haben, jedoch wollte ich nur einige Hintergrundinformationen hinzufügen, die zukünftigen Menschen helfen könnten, die auf dieses Problem stoßen.

    
Warren P 27.03.2012 15:56
quelle

Tags und Links