{$ifdef LCL}

Rund um die LCL und andere Komponenten
Antworten
Mathias
Beiträge: 6956
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

{$ifdef LCL}

Beitrag von Mathias »

Ich habe eine Package, bei der ich abfragen will, ob im Hauptprogramm die LCL-Package verwendet wird.
Folgendes funktioniert schön brav in einem einfachen Programm.

Code: Alles auswählen

{$ifdef LCL}
  ShowMessage('Error');
{$else}
  Writeln('Error');
{$endif}
Aber sobald ich eine eigene Package einbinde, welche die LCL verwendet, steht der Schalter auf LCL.

Nun will ich gerne diesen Schalter in meiner Package verwenden, so das ich das LCL-Zeugs in der Package bei Bedarf ausblendet.
ZB. das obige Beispiel mit ShowMessage und Writeln.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6956
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: {$ifdef LCL}

Beitrag von Mathias »

Ich konnte da Problem lösen.
Ich habe einfach 2 Packages mit den gleichen Units erstellt
Bei der einten Package habe ich die Package LCL_Base eingebunden und bei der anderen entfernt.
Jetzt funktioniert "{$ifdef LCL}" in den Units wie erwartet.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten