AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

VCL Types in FMX Anwendung

Ein Thema von DelphiSüchtig · begonnen am 5. Jul 2018 · letzter Beitrag vom 6. Jul 2018
Antwort Antwort
Seite 1 von 2  1 2      
DelphiSüchtig

Registriert seit: 8. Apr 2015
Ort: Bayern
19 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

VCL Types in FMX Anwendung

  Alt 5. Jul 2018, 13:00
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!
Lukas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: VCL Types in FMX Anwendung

  Alt 5. Jul 2018, 13:07
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.
Markus Kinzler
  Mit Zitat antworten Zitat
DelphiSüchtig

Registriert seit: 8. Apr 2015
Ort: Bayern
19 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: VCL Types in FMX Anwendung

  Alt 5. Jul 2018, 15:31
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!
Lukas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#4

AW: VCL Types in FMX Anwendung

  Alt 5. Jul 2018, 15:37
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: VCL Types in FMX Anwendung

  Alt 5. Jul 2018, 15:53
Viele Typen wurden von der VCL bzw. FMX in die RTL verschoben (wie bei TPoint)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: VCL Types in FMX Anwendung

  Alt 5. Jul 2018, 17:17
Genau. TPoint bindest Du über System.Types ein.

Ansonsten findest Du viel benötigtes in

FMX.Types

Hilfreich sind auch
Delphi-Quellcode:
System.UITypes,
System.UIConsts.
Wenn Du z.B. System.UiConsts einbindest, kannst Du Dir bei einigen Dingen Schreibarbeit sparen, also z.B. statt
Delphi-Quellcode:
color := TAlphaColorRec.Red;

//kannst Du schreiben:

color := claRed;
VCL.Types würde ich ganz raus lassen.

Falls Du eine Unit sowohl unter VCL als auch FMX verwenden solltest, musst Du die jeweiligen VCL / FMX Units eben über {$IFDEF ...} einbinden.

Geändert von Harry Stahl ( 5. Jul 2018 um 17:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: VCL Types in FMX Anwendung

  Alt 5. Jul 2018, 17:25
Falls Du eine Unit sowohl unter VCL als auch FMX verwenden solltest, musst Du die jeweiligen VCL / FMX Units eben über {$IFDEF ...} einbinden.
Kurze Frage, wie? IFDEF Windows Uses Vcl, IFDEF Windows Uses Fmx ? Ich habe da bestimmt einen Mega Denkfehler aber bin auf eine Antwort gespannt.
Wenn Antwort über ein eigenes DEFINE stattfindet hat es sich erledigt.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: VCL Types in FMX Anwendung

  Alt 5. Jul 2018, 17:43
Falls Du eine Unit sowohl unter VCL als auch FMX verwenden solltest, musst Du die jeweiligen VCL / FMX Units eben über {$IFDEF ...} einbinden.
Kurze Frage, wie? IFDEF Windows Uses Vcl, IFDEF Windows Uses Fmx ? Ich habe da bestimmt einen Mega Denkfehler aber bin auf eine Antwort gespannt.
Wenn Antwort über ein eigenes DEFINE stattfindet hat es sich erledigt.
Ja, wie von Dir vermutet, über ein eigenes Define in den Projekteinstellungen (ich habe eigentlich nur einen einzigen Fall, wo ich das mal brauchte, da habe ich "FMXApp" verwendet, im Source kann man das dann mit

Delphi-Quellcode:
{$IFDEF FMXApp}
... FMX-Units
{$ELSE}
... VCL-Units
{$ENDIF}
lösen.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: VCL Types in FMX Anwendung

  Alt 5. Jul 2018, 17:53
Dacht ich mir beinahe aber Fragen kostet ja nichts, Danke
Ich böser Mensch, da ich faul mit der IDE bin hät ich mir eine {$DEFINE FmxApp} irgendwo über den Uses Code geschrieben.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#10

AW: VCL Types in FMX Anwendung

  Alt 5. Jul 2018, 18:22
Ich böser Mensch, da ich faul mit der IDE bin hät ich mir eine {$DEFINE FmxApp} irgendwo über den Uses Code geschrieben.
Wenn man diese Units in mehreren Projekten verwendet (FMX, VCL, Console gemischt), dann viel Spaß, denn dann musst du jede Unit anfassen (DEFINE gilt ja nur innerhalb der Unit).

In den Projektoptionen festgelegt brauchst du nur kompilieren, fertig (egal in wievielen Units du das auch verwendest).
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 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