AGB  ·  Datenschutz  ·  Impressum  







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

{$define xyz} wird nicht erkannt

Ein Thema von Viktorii · begonnen am 5. Aug 2009 · letzter Beitrag vom 5. Aug 2009
Antwort Antwort
Seite 1 von 2  1 2      
Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#1

{$define xyz} wird nicht erkannt

  Alt 5. Aug 2009, 08:00
Moin zusammen.

Ich habe eine Unit welche ich in mehreren Porjekten (Dlls) verwenden möchte. Nun kann es Projekte geben, die an einer Stelle einer Funktion anderen Code ausführen sollen.

Da habe ich mir gedacht, dass man einfach ein define macht, wenn man das möchte und ich die beiden Code-Varianten so in die Funktion schreibe:

Delphi-Quellcode:
{$ifdef xyz}
  ...
  ...
{$else}
  ...
  ...
{$endif}
Nur weiss ich nicht wo ich mein {$define xyz} hinsetzen muss. Ich habe es im Interface Teil einer Unit versucht, welche in diese Unit eingebunden wird und ich habe es mal in der Projekt Datei versucht.

Leider wird das define nicht erkannt. Soll heißen der else Zweig wird verwendet. Wo muss ich das define platzieren bzw. gibt es in den Projekt Optionen eine Möglichkeit ein globales define zu definieren? Hab bis jetzt nix gefunden....


Vielen Dank
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#2

Re: {$define xyz} wird nicht erkannt

  Alt 5. Aug 2009, 08:11
Projekt -> Optionen -> Verzeichnisse/Bedingungen -> Bedingungen -> Definitionen
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: {$define xyz} wird nicht erkannt

  Alt 5. Aug 2009, 08:30
Entweder Projektoptionen oder sogenannte Include-Dateien die überalle wo das Define benötigt wird eingebunden werden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#4

Re: {$define xyz} wird nicht erkannt

  Alt 5. Aug 2009, 08:53
Kann mir einer sagen was ich falsch mache?
  • 1. Neue VCL-Formularanwendung
  • 2. In den interface-Teil der Unit1 folgendes schreiben:
    Delphi-Quellcode:
    {$IFDEF a}
    {$MESSAGE HINT 'Glückwunsch, a ist jetzt auch hier Definiert.'}
    {$ENDIF}
  • 3. "Unit2" hinzufügen
  • 4. In den interface-Teil der Unit2 folgendes schreiben
    {$DEFINE a}
  • 5. In
    Zitat von aaaaaaaaaa_10:
    Projekt -> Optionen -> Verzeichnisse/Bedingungen -> Bedingungen -> Definitionen
    'Unit2' hinzufügen

Sobald ich jetzt Kompiliere kommt nicht die Meldung das a definiert ist. Warum?
Mit include-Dateien hab ich das bisher immer gemacht, davon will ich aber weg.
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#5

Re: {$define xyz} wird nicht erkannt

  Alt 5. Aug 2009, 09:00
Solltest du nicht besser a als Unit2 in den Pfad schreiben ?!
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#6

Re: {$define xyz} wird nicht erkannt

  Alt 5. Aug 2009, 09:03
Du musst ein komplettes Build machen (erzeugen), damit die Änderungen übernommen werden; einfaches Kompilieren genügt hier nicht.

Edit: das hat natürlich nichts damit zu tun, dass irgendetwas nicht gefunden wird.
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#7

Re: {$define xyz} wird nicht erkannt

  Alt 5. Aug 2009, 09:31
Hmmm, schade funktioniert beides nicht, weder feste Pfade, noch neu erzeugen / neues Projekt.
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#8

Re: {$define xyz} wird nicht erkannt

  Alt 5. Aug 2009, 09:46
was steht denn jetzt im pfad bei dir?
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#9

Re: {$define xyz} wird nicht erkannt

  Alt 5. Aug 2009, 09:53
Such dir eins aus, alle schon getestet (neu erzeugt, dann neu kompiliert):
Code:
uConst
uConst;Debug
uConst.pas
uConst.pas;Debug
C:\Delphi\Projekte\G15\TaskMan\uConst
C:\Delphi\Projekte\G15\TaskMan\uConst;Debug
C:\Delphi\Projekte\G15\TaskMan\uConst.pas
C:\Delphi\Projekte\G15\TaskMan\uConst.pas;Debug
C:\Direktiven.txt
Edit:
Arrg, jetz hab ich es... Einfach die Defines in die 'Definitionsspalte' hinzufügen. (da kommen keine Dateien rein...)
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#10

Re: {$define xyz} wird nicht erkannt

  Alt 5. Aug 2009, 10:00
a seh ich aber nirgends
  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 12:00 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