AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Träume, Wünsche und Wahnvorstellungen...
Thema durchsuchen
Ansicht
Themen-Optionen

Träume, Wünsche und Wahnvorstellungen...

Ein Thema von himitsu · begonnen am 16. Mai 2011 · letzter Beitrag vom 3. Jun 2013
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 7. Apr 2012, 14:52
Gibt es, zumindestens hatte ich sowas mal im D7 gesehn (glaub ich).
Ich find's nur nicht mehr.

Das war eine Funktion/Prozedur, welche aus 3 oder 4 DWORD-Werten die Personality bestimmt.
Wurde/wird von Features geprüft, welche für höhere Personalities bestimmt war, also erst bei Nutzung dieses Features, im laufenden Programm.
z.B. man kompiliert irgend ein Datenbankfeature ein, welches erst ab der Enterprise möglich ist, aber man nutzt nur 'ne Personal/Standard.

Eventuell wurde es ja ausgebaut und man löst das nun anders.




constants:
RTLVersion
CompilerVersion
GPL (Programm wurde so kompiliert, daß die DelphiRTL/VCL mit der GPL kompatibel ist ... stammt wohl irgendwie vom Kylix)

compiler switches:
UNICODE
PUREPASCAL
MSWINDOWS
POSIX (MACOSX or LINUX)
MACOSX
LINUX
TRIAL_EDITION (k.A. ob das jetzt auch noch gesetzt wird)



{$IFDEF TRIAL_EDITION} or {$IF Declared(System._Expired)}
_Expired; // show the state of trial licence



[edit]
ups falsch verstanden.

Delphi-Quellcode:
{$DEFINE Standard}

  {$IF Defined(Standard) or Defined(Professional)}
  ShowMessage('Gute Wahl!');
  {$ELSE}
  ShowMessage('Pech gehabt...');
  {$IFEND}

  [...]
  {$IF NOT Defined(Standard) AND NOT Defined(Professional)}
  ShowMessage('Geizhals!');
  {$IFEND}
Es gibt auch noch Declared, für Variablen, Konstanten, Typen und Funktionen/Prozeduren.

Delphi-Quellcode:
{$IF not Declared(MyProc)}
procedure MyProc;
begin
end;
{$IFEND}
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 7. Apr 2012 um 14:56 Uhr)
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#2

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 7. Apr 2012, 14:58
Sagt mal, liebe Leute, gibt es eigentlich inzwischen in Delphi ein {$IFDEF}DelphiXUp{$ENDIF}, das Delphi direkt unterstützt?

Dieses DelphiXUp ist nach meiner Beobachtung immer eine "zurechtgebastelte" Variable, die mit jeder neuen Delphiversion immer wieder aktualisiert werden muß (mit dem Hinzufügen eines neuen, weiteren VERXXX).

Schön wäre es (gewesen), wenn jedes Delphi von sich aus erkennen würde, ob die Version(snummer) des Compilers für den Quelltext ausreicht, anhand einer Variablen, die die Mindestvoraussetzung (ab welcher Versionsnummer) des Compilers beinhaltet.

Vielleicht gibt es das alles auch schon längst, keine Ahnung.

Geändert von Delphi-Laie ( 7. Apr 2012 um 15:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 7. Apr 2012, 15:07
Oh, ich wusste nicht, dass man auch Konstanten auswerten kann...
Thom hat mir schon alle meine Träume erfüllt.

Delphi-Quellcode:
const // global definiert, aber gut praktikabel so
  CompileModeFree = 0;
  CompileModeLight = 1;
  CompileModeStandard = 2;
  CompileModeProfessional = 3;
  CompileMode = CompileModeLight;

...

procedure TdmlStahliSport.MIPlayerStatistcsClick(Sender: TObject);
{$IF CompileMode > CompileModeFree}
var
  PanelPlayer: TodPanelPlayer;
{$IFEND}
begin
{$IF CompileMode > CompileModeFree}
  if PopupMenuPlayer.PopupComponent is TodPanelPlayer then
    begin
      PanelPlayer := PopupMenuPlayer.PopupComponent as TodPanelPlayer;
      PanelPlayer.odPlayer.Person.ExportVPEGamesOpen;
      PanelPlayer.odPlayer.Person.ExportVPEGames;
      PanelPlayer.odPlayer.Person.ExportVPEGamesClose;
    end;
{$IFEND}
end;
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#4

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 7. Apr 2012, 16:04
@Delphi-Laie:

Na ja - das "Erkennen", ob ein Feature zur Verfügung steht, besteht ja darin, daß der Compiler anfängt, mehr oder weniger lange Fehlerlisten zu produzieren. Viel schlimmer ist meines Erachtens der Umstand, daß manche Dinge bei älteren Compilerversionen anders oder (noch) fehlerhalft implementiert ist. Das betrifft zum Beispiel die richtige Auswahl überladenen Methoden oder die Behandlung von Variant-Werten. Will (oder muß) man abwärtskompatibel sein, führt meiner Meinung nach nichts am exzessiven Gebrauch von Compilerschaltern vorbei, wobei ja leider nicht alle älteren Versionen die Variable CompilerVersion unterstützen. Damit wäre es dann einfach, Delphi XE4 schon jetzt zu erkennen:
Delphi-Quellcode:
  {$IF CompilerVersion=25.0}
  ShowMessage('Jetzt habe ich es endlich!');
  {$IFEND}

@stahli:

Das freut mich!
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 7. Apr 2012, 17:12
Die Konstante CompilerVersion ist bestimmt schon recht lange vorhanden,
aber die Conditional-Expressions ({$IF ...} ) gibt es nicht überall. (in D4 noch nicht, in D7 schon ... aber alles Ältere als D7 wird einfach ignoriert)

Ich würde mir ein {$IFOPT ...} für längere Schalternamen wünschen. (nicht nur für die Einbuchstabigen mit + oder -)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 7. Apr 2012 um 17:20 Uhr)
  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 07:07 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 by Thomas Breitkreuz