Ich habe gerade eine Sinnvolle Anwendung mit {$MACRO ON} gemacht.
Für solche Fälle gibt es im Normalfall 2 Lösungen,
Entweder man schreibt den $include Block doppelt oder man lagert ihn in eine zusätzliche *.inc aus. so wie es bei glib2.pas der Fall ist.
Vorhin bin ich gerade auf eine 3. Lösung gekommen, ich schreibe den $include Block in ein Macro. So muss ich den Block auch nur einmal pflegen, wie bei einer zusätlichen *.inc.
Code: Alles auswählen
unit fp_chafa;
interface
uses
fp_glib2;
{$IFDEF FPC}
{$PACKRECORDS C}
{$ENDIF}
{$MACRO ON}
{$DEFINE includes:=
{$include chafa/chafa_common.inc}
{$include chafa/chafa_version_macros.inc}
{$include chafa/chafa_symbol_map.inc}
{$include chafa/chafa_canvas_config.inc}
{$include chafa/chafa_term_info.inc}
{$include chafa/chafa_frame.inc}
{$include chafa/chafa_image.inc}
{$include chafa/chafa_placement.inc}
{$include chafa/chafa_canvas.inc}
{$include chafa/chafa_features.inc}
{$include chafa/chafa_term_db.inc}
{$include chafa/chafa_util.inc}
}
{$DEFINE read_interface}
includes
{$UNDEF read_interface}
implementation
{$DEFINE read_implementation}
includes
{$UNDEF read_implementation}
end.
Spricht da was dagegen, wen man dafür ein Macro nimmt ?
Einzig was ich vorstellen kann, das es nicht mit Delphi geht.