[gelöst] Bedingte compilierung abhängig von der LCL Version?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1862
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

[gelöst] Bedingte compilierung abhängig von der LCL Version?

Beitrag von fliegermichl »

Ich verwende in meinem Programm den Event UserHandleMessage der vom Typ TOnUserInputEvent ist und dessen Deklaration sich zwischen verschiedenen LCL Versionen geändert hat.

Nun dachte ich mir so leichtsinnig: "Das kann man ja in eine bedingte Compilierung einbauen".
Geht aber net.

Code: Alles auswählen

{$if laz_fullversion >= 49900}
 Procedure HandleMessage(Sender : TObject; Message : TLMessage);
{$else}
 Procedure HandleMessage(Sender : TObject; Message : Cardinal);
{$endif}
Wenn ich das so compilieren will, meckert der Compiler, dass er einen String erwartet. Nehme ich die Unit lazversion mit hinein, meckert er zwar nicht mehr darüber, compiliert aber immer die erste Version.

Die einzige Lösung war jetzt ein

Code: Alles auswählen

{define haslcl499}
zu deklarieren und das je nach LCL Version ein- oder auszuschalten. Das kann doch aber nicht Sinn der Sache sein.
Zuletzt geändert von fliegermichl am Fr 30. Okt 2026, 13:41, insgesamt 1-mal geändert.

paweld
Beiträge: 134
Registriert: So 11. Jun 2023, 16:01
OS, Lazarus, FPC: Lazarus trunk, FPC fixes

Re: Bedingte compilierung abhängig von der LCL Version?

Beitrag von paweld »

Code: Alles auswählen

uses
  LCLVersion;
  
{$IF LCL_FULLVERSION >= 4990000}
// >= 4.99
{$ELSE}
// < 4.99
{$ENDIF}
Grüße / Pozdrawiam
paweld

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1862
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Bedingte compilierung abhängig von der LCL Version?

Beitrag von fliegermichl »

Hast du es probiert?
Der Compiler geht immer in den ersten Zweig!

paweld
Beiträge: 134
Registriert: So 11. Jun 2023, 16:01
OS, Lazarus, FPC: Lazarus trunk, FPC fixes

Re: Bedingte compilierung abhängig von der LCL Version?

Beitrag von paweld »

Ja, ich habe es ausprobiert, und es funktioniert – das wird auch in allgemein verfügbaren Komponenten verwendet, z. B. jvcllaz und tvplanit. Tatsache ist jedoch, dass die IDE die Syntax falsch einfärbt.
Grüße / Pozdrawiam
paweld

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1862
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Bedingte compilierung abhängig von der LCL Version?

Beitrag von fliegermichl »

Ich Hirni hab in dem Vergleich eine 0 zu wenig drin gehabt. Dann ist natürlich die Version immer größer 49000

Antworten