Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Eine Frage zu DesignIntf.pas / dcu

  Alt 12. Okt 2004, 12:03
Hallo,

nein - ich will nicht wissen wie und warum DesgnIntf nach DesignIntf zu ändern ist.
Das ist mir schon klar und wurde hier in der DP auch schon beschrieben.

Meine Frage ist folgende:
Warum werden keine *.dcu Dateien erzeugt?
(Bitte unten weiterlesen bevor Du antwortest)

Wenn ich eine Package (z.B. make_dcu.dpk) mit folgendem Inhalt habe:
Delphi-Quellcode:
package make_dcu;

{$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 OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DESIGNONLY}
{$IMPLICITBUILD OFF}

requires
  rtl,
  vcl,
  designide,
  vclactnband,
  vclx,
  visualclx;

contains
  make_dcu_unit in 'make_dcu_unit.pas';

end.
die Unit make_dcu_unit hat folgenden Inhalt:
Delphi-Quellcode:
unit make_dcu_unit;

// Unit dient nur zur Erstellung der *.dcu Dateien

interface

uses
  DesignConst, DesignEditors, DesignIntf, DesignMenus, DesignWindows,
  EditIntf, ExptIntf, FileIntf, IStreams, PropertyCategories, ToolIntf,
  ToolsAPI, TreeIntf, VCLEditors, VCLSprigs, VcsIntf, VirtIntf;

implementation

end.
Das ganze ist in einem Verzeichnis (z.B. c:\temp\test) gespeichert und wird kompiliert.

Warum erzeugt der Compiler für die Units keine *.dcu Dateien?
Es werden nur die make_dcu.* und make_dcu_unit.dcu Dateien erstellt.
Die einzige Ausnahme ist die erstellte VcsIntf.dcu.

Ich weiß, das diese Dateien nur in Designtime Package verwendet werden können und es irgendwie auch eine gewisse Compilermagic gibt, die das Kompilieren in eine *.exe erschwert.
Die Symbolinformationen der Dateien sind ja in der designide.dcp Datei enthalten. Diese werden in die *.bpl Dateien gelinkt.
(btw: es werden Warnungen ausgegeben, das einige Dateien veraltet sind, es sind also neuere Versionen in designide.dcp vorhanden)

Aber: ich habe auch schon Verzeichnisse gefunden in denen eine kompilierte DesignIntf.dcu zu finden war. (von mir kompiliert mit D7)

Wenn diese Dateien nicht kompiliert werden, warum gibt es dann diese von mir kompilierte Fassung der *.dcu ???

Ich hoffe jemand hat eine schlaue Antwort für mich

(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat