Stelle von {$define xyz} finden?
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1436
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Stelle von {$define xyz} finden?
Hallo,
ich portiere gerade ein Delphiprogramm nach Lazarus.
Dabei ist mir an verschiedenen Stellen aufgefallen, daß die CodeTools und der Compiler nicht so ganz übereinstimmen was die conditional defines angeht.
Kann ich irgendwie herausfinden, an welcher Stelle ein conditional define definiert wurde?
ich portiere gerade ein Delphiprogramm nach Lazarus.
Dabei ist mir an verschiedenen Stellen aufgefallen, daß die CodeTools und der Compiler nicht so ganz übereinstimmen was die conditional defines angeht.
Kann ich irgendwie herausfinden, an welcher Stelle ein conditional define definiert wurde?
Re: Stelle von {$define xyz} finden?
Verstehe die Frage nicht ganz.
Ich würde es wahrscheinlich mit "Suchen" oder "in Dateien suchen" probieren.
Auch der Code Explorer zeigt es ja an.
Also was meinst du genau?
Ich würde es wahrscheinlich mit "Suchen" oder "in Dateien suchen" probieren.
Auch der Code Explorer zeigt es ja an.
Also was meinst du genau?
- Dateianhänge
-
- define_lazide.png (17.45 KiB) 5355 mal betrachtet
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1436
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Stelle von {$define xyz} finden?
Ja, der zeigt an {$ifdef xyz} und das wurde auch definiert weil der Code wird nicht grau dargestellt.
Was ich nicht finden kann, ist die Stelle wo das definiert wurde also das {$define xyz}
Was ich nicht finden kann, ist die Stelle wo das definiert wurde also das {$define xyz}
Re: Stelle von {$define xyz} finden?
Ich verstehe dich immer noch nicht.
Wenn ich im Code Explorer darauf doppelklicke, springt er bei mir an die Stelle wo es definiert ist.
Lazarus 2.3.0 (rev main-2_3-2827-g64b27f1207) FPC 3.3.1 x86_64-linux-gtk2
Wenn ich im Code Explorer darauf doppelklicke, springt er bei mir an die Stelle wo es definiert ist.
Lazarus 2.3.0 (rev main-2_3-2827-g64b27f1207) FPC 3.3.1 x86_64-linux-gtk2
- Dateianhänge
-
- define_lazide2.png (47.43 KiB) 5306 mal betrachtet
-
- Lazarusforum e. V.
- Beiträge: 3158
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Stelle von {$define xyz} finden?
Der Compiler kann dir das auch sagen: Projektoptionen > Compiler Options > Verbosity > Show conditionals (-vc)
Damit siehtst du sowohl DEFINES im Code als auch in Konfigurationsdateien oder Kommandozeilenparameter.
Damit siehtst du sowohl DEFINES im Code als auch in Konfigurationsdateien oder Kommandozeilenparameter.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1436
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Stelle von {$define xyz} finden?
Danke, damit kann ich schonmal sehen, daß er anzeigt Macro defined CONSOLE, Obwohl ich unter Konfiguration und Ziele die Option "Win32-GUI-Anwendung" aktiviert hab. Ich würde gerne wissen, an welcher Stelle Console definiert wird.
Ich suche weiter.
-
- Lazarusforum e. V.
- Beiträge: 3158
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Stelle von {$define xyz} finden?
Wenn es in einer Datei steht, gibt der Compiler auch die Fundstelle an. Ansonsten gilt wohl: Kommandozeilenparameter werden vor der Konfigurationsdatei aufgelistet.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Stelle von {$define xyz} finden?
Das sehe ich auch so.
Ausserdem habe ich den Verdacht, dass die mit "Show conditionals (-vc)" ausgegebenen Werte z.T. auch einfach Compiler Defaults sind, die so in keiner Datei und in keinem Parameter stehen.
Sicher bin ich mir aber nicht. Vielleicht kann PascalDragon etwas dazu sagen.
Leider verstehe ich noch immer nicht genau, worum es fliegermichl eigentlich geht.
-
- Lazarusforum e. V.
- Beiträge: 3158
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Stelle von {$define xyz} finden?
Auch die werden ausgegeben. Durch eine Konfigurationsdatei kannst du aus einem x64-Compiler keinen x23-Compiler machen - aber auch die dazugehörigen Makros werden ausgegeben.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1436
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
-
- Lazarusforum e. V.
- Beiträge: 3158
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Stelle von {$define xyz} finden?
Du könntest auch einfach nach CONSOLE in allen Dateien im Projektverzeichnis suchen.
In diesem Fall könnte das auch über {$apptype console} implizit gesetzt werden. Gab es da nicht auch einen Kommandozeilenparameter zu?
In diesem Fall könnte das auch über {$apptype console} implizit gesetzt werden. Gab es da nicht auch einen Kommandozeilenparameter zu?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1436
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Stelle von {$define xyz} finden?
Hab ich gemacht, gab aber keine Treffer.
Ich hab jetzt eine Datei dcdefines.inc erstellt und da explizit {$undef console} reingeschrieben und diese Datei am Anfang einer jeden unit eingebunden.
Würde mich aber dennoch interessieren wo das herkommt.