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
bra

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

IDE und IFDEFs für verschiedene Plattformen

  Alt 2. Aug 2016, 09:24
Wir haben in unserer App durch die verschiedenen Plattformen inzwischen reichliche IFDEFs enthalten. Leider führt das dazu, dass teilweise die Codeerweiterung nicht mehr richtig funktioniert (wenn Android eingestellt ist, meist gar nicht ) und auch das Hin- und Herspringen zwischen Interface und Implementation nicht mehr geht, wenn die komplette Funktion innerhalb eines IFDEFs ist. Alles in separate Units aufzuteilen ist meiner Meinung nach auch Overkill, weil es oft nur 2-3 Funktionen sind, die für die Plattform speziell sind.

Hat da jemand einen Tipp, wie man das beheben kann oder wie macht ihr das?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: IDE und IFDEFs für verschiedene Plattformen

  Alt 2. Aug 2016, 09:35
Beheben?

Garnicht.
Ich hab da einfach das Gefühl, daß Funktionen wie ErrorInsight, CodeInsight, Refactoring usw. nicht alle DEFINES richtig setzen, so wie sie sein würden, wenn man das mit den aktuellen Projektoptionen kompilieren würde.
(bei denen läuft ja entweder ein Parser oder ein BackgroundCompiler über den Code, welche das entsprechend richtig beachten müssten)

CompilerVersion, VERxxx, DEBUG, RELEASE, die vielen DEFINES der verschiedenen Plattformen, ...
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 2. Aug 2016 um 10:57 Uhr)
  Mit Zitat antworten Zitat
bra

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

AW: IDE und IFDEFs für verschiedene Plattformen

  Alt 2. Aug 2016, 09:56
Ich habe mal einen QC-Eintrag erstellt, vielleicht hilfts ja was... https://quality.embarcadero.com/browse/RSP-15580
  Mit Zitat antworten Zitat
Bambini
(Gast)

n/a Beiträge
 
#4

AW: IDE und IFDEFs für verschiedene Plattformen

  Alt 2. Aug 2016, 12:01
Auch schick ist das es kein eigenes IFDEF für MACOS gibt, da es MACOS seltsamerweise auch beim Ziel iOS gibt, obwohl da IOS aktiv ist. Verstehe wer will.
Das macht den gemeinsamen Code für MacOS/iOS nicht übersichtlicher.

Nachtrag:
Um es dann noch einmal komplizierter zu machen. Ist MACOS bei der iOS 32-Bit dabei, aber nicht (mehr) bei 64-Bit. Nee, is' klar.
http://docwiki.embarcadero.com/RADSt...ierung_(Delphi)

Geändert von Bambini ( 2. Aug 2016 um 12:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.045 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: IDE und IFDEFs für verschiedene Plattformen

  Alt 2. Aug 2016, 12:46
Um es dann noch einmal komplizierter zu machen. Ist MACOS bei der iOS 32-Bit dabei, aber nicht (mehr) bei 64-Bit. Nee, is' klar.
http://docwiki.embarcadero.com/RADSt...ierung_(Delphi)
Das ist ein Fehler in der Doc, habe es gerade getestet und reported:
https://quality.embarcadero.com/browse/RSP-15581
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.174 Beiträge
 
Delphi 12 Athens
 
#6

AW: IDE und IFDEFs für verschiedene Plattformen

  Alt 2. Aug 2016, 15:31
Ja ich weiss: du möchtest jetzt wahrscheinlich nicht allzuviel umstellen.

Aber ich lege meinen Code wenn möglich separat für verschiedene Plattformen an, also

Delphi-Quellcode:
Unit MyCode; // Das hier benutze ich in den Apps

uses
  System.Types
{$IFDEF WIN32}
  ,MyCode.Win32
{$ENDIF WIN32}
{$IFDEF WIN64}
  , MyCode.Win64
{$ENDIF WIN64}
{$IFDEF OSX}
  , MyCode.OSX
{$ENDIF OSX}
  ;
Auch bei wenig Code ist das die sauberste Methode, und sollte auch unütze Referenzierungen vermeiden,
wenn es bei Android und iOS mal sparsam zugehen muss.

Ich finde der Mehraufwand lohnt sich schon auf lange Sicht, und alles bleibt gut überschaubar und wartbar.

Rollo
  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 20:54 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