Guten Tag zusammen,
ich bin gerade dabei meherere untschiedliche Packages in eine Art-Makerahmen zu packen und bin dabei auf ein mir nicht verständliches Verhalten der Delphi 2006
IDE getroffen.
Nehmen wir mal als Beispiel das sehr schöne Paket von ZEOS.
Öffnet man hier aus dem Verzeichnis "packages\delphi10" die "ZeosDbo.bdsgroup" erscheinen alle Packages ganz brav. Jetzt aktiviert man z.B. das
Package ZComponent100.bpl und lässt sich den Quellcode anzeigen:
Delphi-Quellcode:
package ZComponent;
{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS ON}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DESCRIPTION 'Zeos Database Components'}
{$LIBSUFFIX '100'}
{$RUNONLY}
{$IMPLICITBUILD OFF}
//{$I ZPackages.inc}
requires
rtl,
dbrtl,
ZPlain,
ZDbc,
ZCore,
ZParseSql,
vclactnband,
vcl;
contains
ZSqlUpdate
in '
..\..\src\component\ZSqlUpdate.pas',
ZAbstractDataset
in '
..\..\src\component\ZAbstractDataset.pas',
ZAbstractRODataset
in '
..\..\src\component\ZAbstractRODataset.pas',
ZStreamBlob
in '
..\..\src\component\ZStreamBlob.pas',
ZConnection
in '
..\..\src\component\ZConnection.pas',
ZDataset
in '
..\..\src\component\ZDataset.pas',
ZDatasetUtils
in '
..\..\src\component\ZDatasetUtils.pas',
ZSqlStrings
in '
..\..\src\component\ZSqlStrings.pas',
ZSqlProcessor
in '
..\..\src\component\ZSqlProcessor.pas',
ZSqlMonitor
in '
..\..\src\component\ZSqlMonitor.pas',
ZStoredProcedure
in '
..\..\src\component\ZStoredProcedure.pas',
ZAbstractTable
in '
..\..\src\component\ZAbstractTable.pas',
ZSqlMetadata
in '
..\..\src\component\ZSqlMetadata.pas',
ZSequence
in '
..\..\src\component\ZSequence.pas'
{$IFDEF ENABLE_INTERBASE}, ZIBEventAlerter
in '
..\..\src\component\ZIBEventAlerter.pas'
{$ENDIF};
end.
Nun achten wir mal auf den Compilerschalter {$IFDEF ENABLE_INTERBASE}.
Wenn man nun in die Projektoptionen und verlässt direkt den Dialog mit "OK". Nun hat sich der Code geändert:
Delphi-Quellcode:
package ZComponent;
{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS ON}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DESCRIPTION 'Zeos Database Components'}
{$LIBSUFFIX '100'}
{$RUNONLY}
{$IMPLICITBUILD OFF}
requires
rtl,
dbrtl,
ZPlain,
ZDbc,
ZCore,
ZParseSql,
vclactnband,
vcl;
contains
ZSqlUpdate
in '
..\..\src\component\ZSqlUpdate.pas',
ZAbstractDataset
in '
..\..\src\component\ZAbstractDataset.pas',
ZAbstractRODataset
in '
..\..\src\component\ZAbstractRODataset.pas',
ZStreamBlob
in '
..\..\src\component\ZStreamBlob.pas',
ZConnection
in '
..\..\src\component\ZConnection.pas',
ZDataset
in '
..\..\src\component\ZDataset.pas',
ZDatasetUtils
in '
..\..\src\component\ZDatasetUtils.pas',
ZSqlStrings
in '
..\..\src\component\ZSqlStrings.pas',
ZSqlProcessor
in '
..\..\src\component\ZSqlProcessor.pas',
ZSqlMonitor
in '
..\..\src\component\ZSqlMonitor.pas',
ZStoredProcedure
in '
..\..\src\component\ZStoredProcedure.pas',
ZAbstractTable
in '
..\..\src\component\ZAbstractTable.pas',
ZSqlMetadata
in '
..\..\src\component\ZSqlMetadata.pas',
ZSequence
in '
..\..\src\component\ZSequence.pas'
{$ENDIF};
end.
Was soll das????
Warum wird einfach ein Sourcefile entfernt. Es ist zwar richtig, dass der Compiler-Schalter "ENABLE_INTERBASE" nicht in den Projektoptionen war, aber warum entfernt die
IDE den Source.
Kann mir das mal einer erklären!
Danke für eure Hilfe