![]() |
Seltsames verhalten mit Units DC
Portiere grade meine Projekte nach 64Bit.
Manchmal bekomme ich die Meldung das die Unit Graphics nicht gefunden wird. Dann wiederum scheint es egal zu sein bzw. sie wird gefunden. Gut mit vor angehängter VCL. gibt es keine Probleme. Nur warum wird sie einmal gefunden und dann wieder nicht. Stört mich nicht weiter aber schon wieder so ein seltsames Problem. gruss |
AW: Seltsames verhalten mit Units DC
Benutze doch einfach so eine Compilers.inc von den Jedis und ändere Deine Uses darauf hin ab, nur so eine Idee.
|
AW: Seltsames verhalten mit Units DC
Eventuell fehlende Unit-Prefixe werden durch den Eintrag in Unit-Gültigkeitsbereichsnamen ergänzt. Eventuell sind nicht in allen Build-Konfigurationen bzw. Zielplattformen die passenden Einträge drin.
|
AW: Seltsames verhalten mit Units DC
Zitat:
Wollte das nur mitteilen das es ein für mich komisches verhalten ist.. kann aber damit leben. Eventuell ein Fehler innerhalb der IDE.. wenn nicht vergesst es. gruss |
AW: Seltsames verhalten mit Units DC
Die IDE tut (zumindest in diesem Fall) was man ihr sagt. Fehlen diese Einträge oder sind sie nicht korrekt, kann das auch nicht funktionieren.
Bei neuen Projekten werden zwar schon bestimmte Vorgaben gemacht, die in den meisten Fällen passen sollten. Falls nicht, kann man das ja dann kontrollieren und gegebenenfalls korrigieren. Insbesondere wenn Projekte aus alten Delphi-Versionen übernommen werden, in denen die neuen Plattformen nicht vorhanden waren, kann schon mal der passende Eintrag fehlen. |
AW: Seltsames verhalten mit Units DC
Zitat:
Meine aktuellen Uses
Delphi-Quellcode:
Die IDE btw. Compiler meckert NUR bei Graphics also geändert!
uses Windows, Messages, Classes, Graphics, SysUtils, uTMDB, uGlobal, Math,
RT_KVideoPlayer, SKAeroAPI, Types, Generics.Collections;
Delphi-Quellcode:
Nun schon seltsam oder?
uses Windows, Messages, Classes, VCL.Graphics, SysUtils, uTMDB, uGlobal, Math,
RT_KVideoPlayer, SKAeroAPI, Types, Generics.Collections; Bei euch ist immer alles so klar wenn man hier was mitteilt was Delphi betrifft. Dann frage ich mich warum der Compiler sich nur über die UNIT Graphics beschwert und über die anderen nicht. Also das verhalten ist so nicht korrekt. (Aber ich denke ihr findet wieder etwas was es schön redet) Ist irgendwo widersprüchlich das ganze. OK! Wie gesagt ich komme damit klar und von mir aus muss da nichts geändert werden. Ich brauche die Namespace nicht wenn es auch so geht. gruss |
AW: Seltsames verhalten mit Units DC
Einigen ist es klar, weil diese die Dokumentation gelesen haben
![]() In deinem Projekt sind wohl die folgenden Einträge enthalten
Code:
aber es fehlt der Eintrag
Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;System;Xml;Data;Datasnap;Web;Soap
Code:
und darum meckert der Compiler, denn eine Unit Graphics gibt es gar nicht, dafür aber die Unit VCL.Graphics und die Unit FMX.Graphics.
VCL
Schau dir auch die anderen Units an:
Code:
die meisten davon lauten im Original anders und werden nur gefunden weil die Unit-Gültigkeitsbereichsnamen korrekt gesetzt sind.
Windows => Winapi.Windows
Classes => System.Classes usw. |
AW: Seltsames verhalten mit Units DC
Zitat:
Fakt ist jedoch das in unterschiedlichen Projekten der Compiler auch bei Graphics ohne VCL nicht meckert. War oder ist dir das bewusst? Und ja ich kann es nachvollziehen da ich alle meine Projekte gerade umstelle. Warum also! :) gruss |
AW: Seltsames verhalten mit Units DC
Werde ich dir gerne beantworten, sobald du mir dieses Verhalten an einem Beispielprojekt für Delphi 10.2.3 zeigst.
(MCVE - Minimal, Complete and Verifiable Example) |
AW: Seltsames verhalten mit Units DC
Zitat:
Delphi-Quellcode:
Kann ich ohne Namespace kompilieren.
unit uMain;
interface {$R '_resources\Mixer.res' '_resources\Mixer.rc'} {$IFDEF WIN64} {$R '_resources\Manifest64.res'} {$ELSE} {$R '_resources\Manifest.res'} {$ENDIF} {$REGION 'Uses'} uses Classes, Windows, Messages, ShellApi, CommCtrl, StrUtils, ShlObj, SysUtils, SKAeroAPI, ActiveX, uGlobal, Graphics, uControls, uIni, Dialogs, mmsystem, AudioVolume, StdCtrls, MMDevice, Math, SimpleAudioVolume, AudioSessionControl, AudioSessionControl2, ProcessList; {$ENDREGION} gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 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