![]() |
VCL Types in FMX Anwendung
Hallo zusammen, folgendes Anliegen:
ich habe eine neue FMX Anwendung geschrieben. In dieser Anwendung möchte ich über eine bestehende Unit verschiedene VCL Types einbinden und verwenden, zum Beispiel TPoint. Nun lautet meine Frage, wie ich das am besten anstelle, da mein Compiler die besagten Types nicht findet, trotz eingebundener Unit. Gibt es dafür eine simple Lösung, zum Beispiel muss ich spezielle Einstellungen in den Projektoptionen vornehmen? Danke für eure Antworten! |
AW: VCL Types in FMX Anwendung
TPoint ist in Systen.Types deklariert.
Im Allgemeinen ist es keine gute Idee, VCL-Typen in FMX zu verwenden, da hier teilweise Typen anders implementiert sind. |
AW: VCL Types in FMX Anwendung
Danke für die Antwort, aber ich habe mich wohl falsch ausgedrückt.
Was ich meinte war dass bis jetzt alles fehlerfrei mit VCL compiliert werden konnte. Nun möchte ich mit FMX arbeiten und jetzt wird mir angezeigt, dass zum Beispiel TPoint nicht gefunden werden kann bzw. nicht deklariert wurde. Ich habe leider noch nicht verstanden, woran das liegt und wie ich es umgehen kann. Viele Grüße! |
AW: VCL Types in FMX Anwendung
Es gibt für einige Typen Umleitungen/Aliase.
Also diese Typen sind mehrfach in verschiedenen Units weitergeleitet. (z.B. weil sie früher mal in VCL-Units lagen und dann da in Globale verschoben wurden, damit es nicht gleich überall knallt) In deinem Fall mußt du einfach nur die Unit einbinden, wo der Typ "wirklich" implementiert ist (vermutlich Systen.Types), da es hier scheinbar im FMX keine Umleitung gibt. |
AW: VCL Types in FMX Anwendung
Viele Typen wurden von der VCL bzw. FMX in die RTL verschoben (wie bei TPoint)
|
AW: VCL Types in FMX Anwendung
Genau. TPoint bindest Du über System.Types ein.
Ansonsten findest Du viel benötigtes in
Delphi-Quellcode:
FMX.Types
Hilfreich sind auch
Delphi-Quellcode:
Wenn Du z.B. System.UiConsts einbindest, kannst Du Dir bei einigen Dingen Schreibarbeit sparen, also z.B. statt
System.UITypes,
System.UIConsts.
Delphi-Quellcode:
VCL.Types würde ich ganz raus lassen.
color := TAlphaColorRec.Red;
//kannst Du schreiben: color := claRed; Falls Du eine Unit sowohl unter VCL als auch FMX verwenden solltest, musst Du die jeweiligen VCL / FMX Units eben über {$IFDEF ...} einbinden. |
AW: VCL Types in FMX Anwendung
Zitat:
Wenn Antwort über ein eigenes DEFINE stattfindet hat es sich erledigt. |
AW: VCL Types in FMX Anwendung
Zitat:
Delphi-Quellcode:
lösen.
{$IFDEF FMXApp}
... FMX-Units {$ELSE} ... VCL-Units {$ENDIF} |
AW: VCL Types in FMX Anwendung
Dacht ich mir beinahe aber Fragen kostet ja nichts, Danke:wink:
Ich böser Mensch, da ich faul mit der IDE bin hät ich mir eine {$DEFINE FmxApp} irgendwo über den Uses Code geschrieben. |
AW: VCL Types in FMX Anwendung
Zitat:
In den Projektoptionen festgelegt brauchst du nur kompilieren, fertig (egal in wievielen Units du das auch verwendest). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:33 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