Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Automatische Hinzufügen von Units in die Usesliste deaktivieren? (https://www.delphipraxis.net/174314-automatische-hinzufuegen-von-units-die-usesliste-deaktivieren.html)

Ralf Kaiser 17. Apr 2013 06:48

Automatische Hinzufügen von Units in die Usesliste deaktivieren?
 
Hallo,

Wir sind gerade dabei eine umfangreiche Codebasis auf die neuen Versionen einiger 3rd Party Komponenten umzustellen. Bis diese Umstellung fertig ist arbeiten fast alle anderen im Team noch mit den alten Versionen.

Nun hat Delphi ja die Angewohnheit automatisch die Units die von visuellen Komponenten benötigt werden der Uses-Liste hinzuzufügen, wa ja normalerweise auch praktisch ist. Hier jedoch nicht. Die neuen Komponenten bringen auch einige neue Unitnamen mit und wenn eine Unit mit den neuen Namen in der Usesliste irrtümlich in die Versionsverwaltung eingecheckt wird dann können diejenigen die noch mit der alten Version arbeiten diese Unit nicht kompilieren.

Also dachte ich mir, dass ich die neuen Units in der Uses-Liste einfach in IFDEFs klammere:

Delphi-Quellcode:
uses
   Windows,
   Messages,
   SysUtils,
   Variants,
   Classes,
   Graphics,
   Controls,
   Forms
   {$IFDEF NEUE_VERSION} 
   , NeueUnit1, NeueUnit2 
   {$ENDIF}
   ;
Aber wenn die neuen Units im IFDEF geklammert sind dann fügt Delphi diese beim Speichern mit konstanter Boshaftigkeit außerhalb des IFDEFs erneut hinzu!

Die einzige Möglichkeit, die ich bisher gefunden habe ist die betreffende Unit vor dem Speichern auf ReadOnly zu schalten und dann erst zu speichern. Dabei kommt jedes mal die Frage, ob ich denn wirklich eine vor Änderungen geschützte Unit speichern will (WAS soll denn diese Frage??? :wall: )

Kennt jemand eine andere Möglichkeit, wie man Delphi davon abhalten kann automatisch Units hinzuzufügen obwohl sie innerhalb eines IFDEF eigentlich schon vorhanden sind? (scheinbar "kennt" der Hinzufügemechanismus keine IFDEF)

Danke schon mal,
Ralf

Bummi 17. Apr 2013 06:58

AW: Automatische Hinzufügen von Units in die Usesliste deaktivieren?
 
Wenn Du ein "Saatkorn" in die Bedingung und den else Zweig legst, werden die Units im richtigen Zweig abgelegt..., je nach DEFINE.
Bei mir war lediglich Forms in beiden Bereichen eingetragen, der Rest wird ja nach DEFINE automatisch ergänzt.

Delphi-Quellcode:
{$DEFINE NEUE_VERSION}
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls
    {$IFDEF NEUE_VERSION}
    , Forms, ComCtrls, ExtCtrls, Grids
    {$ELSE}
    , Forms, ComCtrls, ExtCtrls, Grids
   {$ENDIF};

Ralf Kaiser 17. Apr 2013 07:06

AW: Automatische Hinzufügen von Units in die Usesliste deaktivieren?
 
Hallo Bummi,

Du hast eben dafür gesorgt, dass ich in der nächsten Zeit einige graue Haare weniger bekommen werde! :thumb:

Funktioniert hervorragend! Danke!

Ciao,
Ralf

uligerhardt 17. Apr 2013 07:17

AW: Automatische Hinzufügen von Units in die Usesliste deaktivieren?
 
Zitat:

Zitat von Bummi (Beitrag 1211706)
Wenn Du ein "Saatkorn" in die Bedingung und den else Zweig legst, werden die Units im richtigen Zweig abgelegt..., je nach DEFINE.
Bei mir war lediglich Forms in beiden Bereichen eingetragen, der Rest wird ja nach DEFINE automatisch ergänzt.

Das hab ich auch noch nicht gewusst. Dann ist dieser IDE-interne Parser ja doch nicht völlig verblödet, sondern nur ziemlich doof. :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:46 Uhr.

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