Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Unit-Gültigkeitsbereichsnamen: mal geht es ohne und mal nicht. (https://www.delphipraxis.net/196780-unit-gueltigkeitsbereichsnamen-mal-geht-es-ohne-und-mal-nicht.html)

bcvs 19. Jun 2018 11:03

Unit-Gültigkeitsbereichsnamen: mal geht es ohne und mal nicht.
 
Hallo zusammen,

bin gerade dabei, ein paar Projekte von D2007 auf D10.2 hochzuziehen.

Im ersten Projekt ließ sich diese Zeile problemlos übersetzen:

Delphi-Quellcode:
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Im 2. Projekt kommt der Compilerfehler "Unit Windows nicht gefunden" und ich muss überall die Unit-Gültigkeitsbereiche davor setzen:

Delphi-Quellcode:
uses WinAPI.Windows, System.SysUtils, System.Classes, Vcl.Graphics, Vcl.Forms, Vcl.Controls,
In den Projektoptionen bei Unit-Gültigkeitsbereichsnamen steht bei beiden Projekten das selbe drin. Warum kommt ein Projekt ohne diese Gültigkeitsbereiche aus und ein anderes nicht?

Uwe Raabe 19. Jun 2018 11:50

AW: Unit-Gültigkeitsbereichsnamen: mal geht es ohne und mal nicht.
 
Zitat:

Zitat von bcvs (Beitrag 1405210)
In den Projektoptionen bei Unit-Gültigkeitsbereichsnamen steht bei beiden Projekten das selbe drin. Warum kommt ein Projekt ohne diese Gültigkeitsbereiche aus und ein anderes nicht?

Kannst du mal zwei dieser dproj-Dateien hier anhängen? Irgendwo muss es ja einen Unterschied geben.

himitsu 19. Jun 2018 11:53

AW: Unit-Gültigkeitsbereichsnamen: mal geht es ohne und mal nicht.
 
Erstell dir mal ein neues VCL-Projekt und schau in die Projektoptionen.
Beim Upgrade alter Prpjektdateien wird dieses leider nicht automatisch gefüllt, was aber eigentlich besser wäre.

Option: Namespaces bzw. Namespace-Präfixe
Delphi-Quellcode:
System;Windows;WinApi;Vcl;usw



Steht das auch in den richtigen Build-Konfigurationen drin?

bcvs 19. Jun 2018 12:02

AW: Unit-Gültigkeitsbereichsnamen: mal geht es ohne und mal nicht.
 
Ich habe jetzt einfach mal die .dproj gelöscht und neu erzeugen lassen.

Jetzt funktioniert es.

Wosi 20. Jun 2018 09:59

AW: Unit-Gültigkeitsbereichsnamen: mal geht es ohne und mal nicht.
 
Zur Info:
In der .dproj Datei befinden sich Einträge vom Typ DCC_Namespace. Das sieht etwa so aus:

Code:
<DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace)</DCC_Namespace>
Wenn hier "WinAPI" aufgeführt ist (Groß- und Kleinschreibung ist egal), kannst du die Unit "WinAPI.Windows" auch ohne Angabe des Namespaces (also nur mit "Windows") einbinden. Fehlt der Eintrag hingegen, musst du den Unit-Namen immer voll qualifizieren.

bcvs 21. Jun 2018 07:33

AW: Unit-Gültigkeitsbereichsnamen: mal geht es ohne und mal nicht.
 
Bei mir stand das ja in den Projektoptionen und damit auch in der .dproj. Trotzdem musste ich die Unit-Namen vonn ausschreiben. Nachdem ich die dproj neu erzeugt habe, funktioniert es ja jetzt.

Scheinbar hatte sich da bei der Konvertierung der dproj irgendetwas verhakt. Ist jetzt aber auch egal.

Sherlock 21. Jun 2018 07:52

AW: Unit-Gültigkeitsbereichsnamen: mal geht es ohne und mal nicht.
 
Die dproj und ihr (IMHO überflüssiges) Geschwisterlein die deployproj sind beide ein steter Quell der Freude, und herrlich undurchsichtig noch dazu. Vor allem wenn man für mehrere Plattformen entwickelt. Wann kommt endlich ein guter Editor dafür?

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 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