AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eine Frage zu DesignIntf.pas / dcu

Ein Thema von MaBuSE · begonnen am 12. Okt 2004 · letzter Beitrag vom 12. Okt 2004
Antwort Antwort
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
Delphi_Fanatic

Registriert seit: 24. Mär 2004
201 Beiträge
 
#2

Re: Eine Frage zu DesignIntf.pas / dcu

  Alt 12. Okt 2004, 12:35
Lass die Finger von DesignIntf !
Unter Umständen kannst Du Dir sonst 'ne Menge Probleme einhandeln, wenn Du mal von einer Delphi-Version
auf eine andere migrieren willst.

Das ist ohnehin nur Spiel-Kram, was man - theoretisch - damit alles anstellen kann.
Einen wirklichen Zuwachs an Produktivität oder gar spürbare Vorteile für den End-Anwender wirst Du mit
irgendeinem Rum-Gefummel an der DesignIntf garantiert nicht erreichen.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#3

Re: Eine Frage zu DesignIntf.pas / dcu

  Alt 12. Okt 2004, 12:41
@Delphi_Fanatic: Ich glaube, dass Du hier nur falsche Unterstellungen machst - zumal Deine Antwort wirklich nicht das Problem löst. Ich kenne MaBuSE gut genug, um zu wissen, dass Deine Antwort in jeder Hinsicht in die falsche Richtung ging

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
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
 
#4

Re: Eine Frage zu DesignIntf.pas / dcu

  Alt 12. Okt 2004, 13:39
Zitat von Delphi_Fanatic:
Lass die Finger von DesignIntf !
Warum?
Diese Units werden von vielen Komponenten verwendet.
In $(DELPHI)\Source\ToolsAPI\*.* sind die Schnittstellen zu der Delphi IDE definiert.

Zitat von Delphi_Fanatic:
Unter Umständen kannst Du Dir sonst 'ne Menge Probleme einhandeln, wenn Du mal von einer Delphi-Version auf eine andere migrieren willst.
Keine nicht lösbaren.
Ich habe schon Komponenten geschrieben (mit Property Editoren) die sich von D1 bis D9 kompilieren lassen.

Zitat von Delphi_Fanatic:
Das ist ohnehin nur Spiel-Kram, was man - theoretisch - damit alles anstellen kann. Einen wirklichen Zuwachs an Produktivität oder gar spürbare Vorteile für den End-Anwender wirst Du mit irgendeinem Rum-Gefummel an der DesignIntf garantiert nicht erreichen.
Das sehe ich anders.
Ein kleines Beispiel für einen Property Editor.

Nehmen wir eine Komponente die die Eigenschaft Color (TColor) besitzt.
Ohne den Property Editor könnte man nur einen RGB Farbwert (z.B. $00BFEDAF) eingeben.
Erst der Property Editor gibt Dir die Möglichkeit eine Combobox mit den Farben und den Realnamen (z.B. clRed) zu sehen. Bei einem Doppelklick auf die Eigenschaft geht außerdem ein Farbauswahldialog auf.

Oder alle Experten die in die IDE eingeklinkt werden können (GExperts, SourceConneXion, JCL, ...)

Das nur zu Erklärung wozu die ToolsAPI gut ist.

Da ich aber nicht beeinflussen kann ob die Komponenten von Drittanbietern diese ToolsAPI benutzen, muss ich sie unterstützen. (Was ja auch kein Problem darstellt)

Ich will die ToolsAPI Dateien ja nicht ändern, nur benutzen.


Ich habe folgendes Problem:
Für unser Releasemanagement muss der Integrationsserver um Delphi 7 erweitert werden.
Alle Komponenten der Projekte sind in IBM Rational ClearCase versioniert.
Es existiert eine spezielle ViewSpec um alle benötigten Sourcen bereitzustellen.
Das Dumme ist, dass beim Kompilieren der Komponenten in deren Output Vob eine DesignIntf.dcu steht, das Configuration Record bei den nicht geänderten Dateien der ViewSpec unvollständig ist, was dann bei labeln des Releases ein Problem darstellt. (DesignIntf.dcu wird nicht mitgelabelt.)

Ich will nun wissen wie diese DesignIntf.dcu dorthin kommt.

[edit]@sakura: Danke für Deine Antwort [/edit]
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: Eine Frage zu DesignIntf.pas / dcu

  Alt 12. Okt 2004, 13:47
Die dcu Files fuer die Delphi Sourcen sind in .dcp Files zusammengefasst. Da DesignIde im requires steht, wird natuerlich das .dcp bevorzugt.
  Mit Zitat antworten Zitat
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
 
#6

Re: Eine Frage zu DesignIntf.pas / dcu

  Alt 12. Okt 2004, 13:55
Zitat von Robert Marquardt:
Die dcu Files fuer die Delphi Sourcen sind in .dcp Files zusammengefasst. Da DesignIde im requires steht, wird natuerlich das .dcp bevorzugt.
Warum finde ich aber in 2 der vielen Verzeichnisse eine DesignIntf.dcu Datei?
Die auch noch von mir erstellt wurde.
Ich kann das aber nicht mehr nachvollziehen.

[edit]
Anmerkung: In dem *.dcp sind nur die Symbole enthalten, nicht die kompilierten Units selbst.
[/edit]
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#7

Re: Eine Frage zu DesignIntf.pas / dcu

  Alt 12. Okt 2004, 13:59
Wenn du DesignIde nicht im requires hattest und gleichzeitig die ToolsAPI Source-Directory in den Pfaden, dann findet Delphi ja die Sourcen zum Uebersetzen und ist auch zufrieden.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#8

Re: Eine Frage zu DesignIntf.pas / dcu

  Alt 12. Okt 2004, 14:04
Vermutlich werden immer die .bpl Files genutzt, also dynamisch gelinkt.
  Mit Zitat antworten Zitat
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
 
#9

Re: Eine Frage zu DesignIntf.pas / dcu

  Alt 12. Okt 2004, 14:33
Zitat von Robert Marquardt:
Wenn du DesignIde nicht im requires hattest und gleichzeitig die ToolsAPI Source-Directory in den Pfaden, dann findet Delphi ja die Sourcen zum Uebersetzen und ist auch zufrieden.
Du hast Recht.
Ich habe das getestet.

Delphi-Quellcode:
package make_dcu;

{...}

requires
  rtl,
  vcl;

contains
  make_dcu_unit in 'make_dcu_unit.pas';

end.
und
Delphi-Quellcode:
unit make_dcu_unit;

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

interface

uses
  DesignIntf;

implementation

end.
Obiges Package erzeugt die DesignIntf.dcu.
Dann fragt die IDE ob in requires designide.dcp hinzugefügt werden soll.
Ist die designide.dcp in der requires enthalten, dann wird die *.dcu nicht mehr erstellt.


Vielen Dank an Robert, Sakura und Delphi_Fanatic für die Antworten.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz