Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Verständnisfrage zur *.dproj-Datei (https://www.delphipraxis.net/209818-verstaendnisfrage-zur-%2A-dproj-datei.html)

Delbor 26. Jan 2022 13:34

Delphi-Version: 10.4 Sydney

Verständnisfrage zur *.dproj-Datei
 
Hi zusammen

Ich hatte hier Probleme damit, von einem bestehenden Basisframe eine weitere Instanz in meinem Programm zu platzieren. Ich konnte dann das aktuelle Problem lösen, indem ich den Rat von Aviator befolgte und manche fehlende Zeile mit dem genannten <Formtype> einfügte.

Bis dahin wunderte ich mich öfters darüber, wie lange bestimmte Aktionen zur Entwurfszeit brauchten. So habe ich links eine CategoryPanelGroup mit diversen CategoryPanels, die zur Entwurfszeit über einen Boolean geschlossen werden können. Das dauerte zum Teil wohl mindestens eine Sekunde oder mehr - inklusive Sanduhr & PiPaPo. Die <Formtype>-Einträge nach dem Rat von Aviator ergänzt, lösten auch dieses Problem. Zumindest teilweise. es gibt noch manch andere Stellen, die fehlerhaft sein könnten.
Andrerseits bin ich mir aber alles andere als sicher, ob gewisse Einträge, die von gewissen Schemen abweichen, wirklich fehlerhaft sind.

Ich denke, das einzige, dessen ich mir ziemlich sicher bin: Formulare, die keine solche sind, aber zur Entwurfszeit als solche erscheinen, verfügen über einen Eintrag 'DesignClass' (Frames, Datenmodule):
Delphi-Quellcode:
        <DCCReference Include="Frames\InsertFrameUnit.pas">
            <Form>InsertDataFrame</Form>
            <FormType>dfm</FormType>
            <DesignClass>TFrame</DesignClass>
Diese Zeilen entstammen einem Projekt, das mit XE8 entwickelt worden war. Allerdings war das auch schon in neueren Delphis geöffnet. und auch hier fehlen einige <FormType>-Einträge...

Gibt es irgendwo Dokumente, die den Aufbau dieser Dateien beschreiben? Welche Einträge müssen sein, und welche 'dürfen' fehlerhaft sein?

Gruss
Delbor

Der schöne Günther 26. Jan 2022 13:38

AW: Verständnisfrage zur *.dproj-Datei
 
Das passiert sehr häufig, dass die IDE diese Teile einfach aus der .dproj entfernt. Leider ohne erkennbaren Grund, oder auch bei Frames die jahrelang nicht angefasst wurden. Ich bin da nie hintergekommen. Nachdem ich im Formulardesigner unterwegs war verbringe ich locker ein Drittel der Zeit damit, die von der IDE kaputtgemachten oder fehlerhaft eingefügten Dinge wieder grade zu rücken.

Zumindest ist das in 10.0 Seattle noch so, evtl. ist das ja mittlerweile behoben.

Bernhard Geyer 26. Jan 2022 13:42

AW: Verständnisfrage zur *.dproj-Datei
 
Ich glaube mit neueren Delphis werden die Datenmodule etwas anders behandelt.
Könnte also normal sein das dies mit neueren Delphi-Versionen aus der dproj-Datei gekickt werden.

Delbor 26. Jan 2022 14:12

AW: Verständnisfrage zur *.dproj-Datei
 
Hi zusammen

Es betrifft nicht in erster Linie Datenmodule, sondern eigentlich wohl in erster Linie Frames - die können und sollen ja anders als Datenmodule sichtbare Instanzen erzeugen.

Gruss
Delbor

Harry Stahl 26. Jan 2022 16:14

AW: Verständnisfrage zur *.dproj-Datei
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Delbor (Beitrag 1501217)

Gibt es irgendwo Dokumente, die den Aufbau dieser Dateien beschreiben? Welche Einträge müssen sein, und welche 'dürfen' fehlerhaft sein?

Gruss
Delbor

Mir sind da leider keine Dokumente bekannt, zumindest keine, die wirklich relevante Informationen enthalten. Ich habe aber zumindest mal versucht, die Projektdatei - wenn man sie dann mal direkt editieren muss - etwas beherrschbarer zu machen und ein wenig Struktur und Gliederung da rein zu bringen. Denn leider sind die einzelnen Sektionen teilweise wild durcheinander gewürfelt. Mit der Ansicht wie anliegend gezeigt, kann man zumindest gezielt den Datei-Eintrag für die Frames-Dateien in den Fokus bekommen, ohne lange zu suchen (sieh anlg. Screenshot). Das geht auch mit der kostenlosen Community Edition des Programms.

dummzeuch 26. Jan 2022 16:22

AW: Verständnisfrage zur *.dproj-Datei
 
Wenn ich Probleme mit den Units / Forms in einer dproj-Datei habe, lösche ich alle DCCReference-Einträge aus dieser Datei (in einem Texteditor). Beim nächsten Öffnen in der IDE werden diese Einträge dann anhand der dpr-Datei neu erstellt und sind dann korrekt.

Warnung: Man sollte eine Kopie der Datei haben. Aber wir verwenden ja bestimmt alle eine Sourcecode-Verwaltung....

Bernhard Geyer 26. Jan 2022 16:53

AW: Verständnisfrage zur *.dproj-Datei
 
Zitat:

Zitat von Delbor (Beitrag 1501221)
Es betrifft nicht in erster Linie Datenmodule, sondern eigentlich wohl in erster Linie Frames - die können und sollen ja anders als Datenmodule sichtbare Instanzen erzeugen.

Der Name der Unit hat was anderes nahe gelegt.

Uwe Raabe 26. Jan 2022 17:03

AW: Verständnisfrage zur *.dproj-Datei
 
Zitat:

Zitat von Delbor (Beitrag 1501217)
Gibt es irgendwo Dokumente, die den Aufbau dieser Dateien beschreiben? Welche Einträge müssen sein, und welche 'dürfen' fehlerhaft sein?

Zu Frage 1: Das Format entspricht dem von MS-Build verwendeten. Dafür sollte Dokumentation zu finden sein. Es gibt aber einige Zweige, die nur von der IDE verwendet werden. Auch MMX Code Explorer legt ein paar projektbezogene Einstellungen in einem eigenen Zweig ab (ProjectExtensions - BorlandProject - MMX).

Zu Frage 2: Neben der MSBuild-Doku wirst du dazu nichts weiter finden. Grundsätzlich kann die dproj-Datei auch ganz fehlen - sie wird dann mit Defaulteinstellungen von der IDE erzeugt. Man muss dann halt noch den Rest manuell einpflegen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15: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