AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi suche $OrDef - oder wie löst ihr das Problem
Thema durchsuchen
Ansicht
Themen-Optionen

suche $OrDef - oder wie löst ihr das Problem

Ein Thema von Cappuccino · begonnen am 1. Dez 2008 · letzter Beitrag vom 2. Dez 2008
Antwort Antwort
Cappuccino

Registriert seit: 25. Okt 2006
68 Beiträge
 
Delphi 6 Enterprise
 
#1

suche $OrDef - oder wie löst ihr das Problem

  Alt 1. Dez 2008, 16:29
Hallo,

genutzt wird D5, teilweise D6 oder 2007

Das Programm muss für diverse Geräte compiliert werden, die unterschiedliche Features haben.
Mit den Compilerdirektiven ist das nicht sonderlich schön lösbar,
{$ifdef MaschineA} xxxx {$endif}
{$ifdef MaschineB} xxxx {$endif}
{$ifdef MaschineC} xxxx {$endif}
hier müssen nun alle vorhandenen Maschinen eingetragen werden, auch


{$ifdef MaschineA}
{$else}
{$ifdef MaschineB}
{$else}
{$ifdef MaschineC}
{$else}
{$endif}
{$endif}
{$endif}

ist nicht wirklich der Hit



---> schöner wäre

{$ifdef MaschineA} {$OrDef MaschineB} {$OrDef MaschineC}
xxxx
{$else}
xxx
{$endif}

Geht so was - und wenn ja - wie?

Danke + Gruß
Tom
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: suche $OrDef - oder wie löst ihr das Problem

  Alt 1. Dez 2008, 16:49
Du könntest dir eine include Datei machen, die ungefähr so aussieht:

{$ifdef MaschineA} {$define AorBorC} {$endif}
{$ifdef MaschineB} {$define AorBorC} {$endif}
{$ifdef MaschineC} {$define AorBorC} {$endif}

{$ifdef MaschineA}
{$ifdef MaschineB}
{$ifdef MaschineC}
{define AandBandC}
{$endif}
{$endif}
{$endif}

Aber sowas
Zitat von Cappuccino:
{$ifdef MaschineA} {$OrDef MaschineB} {$OrDef MaschineC}
xxxx
{$else}
xxx
{$endif}
Geht imho nicht ...
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

Re: suche $OrDef - oder wie löst ihr das Problem

  Alt 1. Dez 2008, 16:50
Hallo,

ein Versuch:
Code:
{$ifdef MaschineA} {$define IstFuerAlleDa} {$endif} 
// MaschineA kann alles, was MaschineB kann, aber nicht umgekehrt.
// Spart ggfls. separate Behandlung von A und B
{$ifdef MaschineB} {$define IstFuerAlleDa} {$define IstFuerAUndB} {$endif} 
{$ifdef MaschineC} {$define IstFuerAlleDa} {$endif} 

{$ifdef MaschineA} 
xxxx
{$endif} 

{$ifdef MaschineB} 
xxxx
{$endif} 

{$ifdef MaschineC} 
xxxx
{$endif} 

{$ifdef IstFuerAUndB} 
xxxx
{$endif} 

{$ifdef MaschineC} 
xxxx
{$endif} 

{$ifdef IstFuerAlleDa}
xxxx
{$endif}
  Mit Zitat antworten Zitat
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#4

Re: suche $OrDef - oder wie löst ihr das Problem

  Alt 1. Dez 2008, 17:24
Erst ab Delphi 6 werden CONDITIONALDEFINES unterstützt:
Delphi-Quellcode:
{$IF
  Defined(MaschineA) or
  Defined(MaschineB) or
  Defined(MaschineC)
}

//...
{$IFEND}
Davor helfen nur die o.g. Alternativen.
  Mit Zitat antworten Zitat
Cappuccino

Registriert seit: 25. Okt 2006
68 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: suche $OrDef - oder wie löst ihr das Problem

  Alt 2. Dez 2008, 07:47
danke, das mit dem conditional define habe ich gesucht, das passt.

Gruß
Tom
  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 22:08 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