AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung IDE und IFDEFs für verschiedene Plattformen
Thema durchsuchen
Ansicht
Themen-Optionen

IDE und IFDEFs für verschiedene Plattformen

Ein Thema von bra · begonnen am 2. Aug 2016 · letzter Beitrag vom 3. Aug 2016
Antwort Antwort
Rollo62

Registriert seit: 15. Mär 2007
4.185 Beiträge
 
Delphi 12 Athens
 
#1

AW: IDE und IFDEFs für verschiedene Plattformen

  Alt 2. Aug 2016, 17:24
Das kommt ja auch sehr drauf an was du damit machen willst.

Manchmal sind in den sub-units nur einfache Funktionen dahinter.

Man könnte in die sub-units auch die Basisfunktionen einer Basisklasse implementieren, und
von dieser dann im main Unit wieder ableiten, und schon hat man die Platform-Funktionen ausgelagert.

Ich finde auch den FMX.TPlatform-Ansatz generell ganz gut, wie verschiedene Services ausgeklammert werdern,
bin mir aber nicht sicher ob das immer richtig ist.
Z.B. ob ein ständiges Holen der Interfaxce nicht etwas ineffizient ist, wie z.B. Canvas-Routinen,
die ständig aufgerufen werden.

Generell mit RegisterXyz(); und im main unit Interfaces erzeugen, das ist auch OK, aber ich denke
es wird meistens auch im main unit ein allgemeiner Code gebraucht.
Der sollte eben nicht in Sub-Units redundant ausgeklammert werden.

Entkoppeln könnte man aber auch über TMessages, so das die entsprechenden Sub-Module nur über Messaging kommunizieren.

Jedenfalls finde ich das die Entkopplung von der Platform, wie auch immer, viel an Lesbarkeit bringt.
Und vor alem mal eine Wiedervervendung möglich macht.
Wenn man alles in einer Unit mit 100 IDEFs verwurschtelt hat, mal ehrlich, das fasst doch keiner gerne nochmal an.

Von der Verbesserten Testbarkeit kleinerer Module mal ganz zu schweigen.

Aber einen klaren Favoriten habe ich da auch nicht (gibt es wohl auch gar nicht), mich ärgrt nur
das ich meistaus Zeitgründen auch wieder zu den IFDEFs komme,
um das dann später wenn Zeit ist wieder zu entflechten ab einer gewissen Größe.
Also es hängt Alles immer auch vom "Wollen" ab, und da bin ich leider auch immer viel zu willensschwach

@Himitzu
Na klar, so etwa
  FMX.MyLibrary.MachWas.Mycode.Win32 Schön aufgeräumte codegruppen finde ich immer gut, aber oft entwickelt sich das erst über die Zeit.
Ich finde der Platform sollte hinten dran sein, ist aber Geschmachssache.


Rollo
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: IDE und IFDEFs für verschiedene Plattformen

  Alt 3. Aug 2016, 11:08
Es geht ja nicht nur um komplette Routinen, sondern auch um einzelne Teile, wo nur wenige Zeilen innerhalb einer Funktion plattformspezifisch anders sind. Da funktioniert innerhalb der ANDROID-Defines meist überhaupt keine Codeerweiterung mehr, d.h. man programmiert mit einem normalen Editor, was extrem nervig ist.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: IDE und IFDEFs für verschiedene Plattformen

  Alt 3. Aug 2016, 18:13
Es geht ja nicht nur um komplette Routinen, sondern auch um einzelne Teile, wo nur wenige Zeilen innerhalb einer Funktion plattformspezifisch anders sind. Da funktioniert innerhalb der ANDROID-Defines meist überhaupt keine Codeerweiterung mehr, d.h. man programmiert mit einem normalen Editor, was extrem nervig ist.
Der Parser/Backgroundcompiler kann ja nicht einfach alle IFDEFs aktiv machen, damit man überall alles hat (ergibt bestimmt im vorhergehenden Code massig Chaos/Konflikte).
Aber für die aktive BuildConfig sollten die DEFINEs müssten ausgewertet werden, damit man im dazu passenden Code auch die nötigen Funktionen (Codevervollständigung usw.) erhalten kann.
Also OSX-Config aktiv, dann sollte sich auch der OSX-Code ordentlich bearbeiten lassen müssen. (währe jedenfalls zu schön)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:28 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