Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Fehlermeldung beim Öffnen meiner DPROJ (https://www.delphipraxis.net/193576-fehlermeldung-beim-oeffnen-meiner-dproj.html)

KHJ 16. Aug 2017 17:39

Fehlermeldung beim Öffnen meiner DPROJ
 
Liste der Anhänge anzeigen (Anzahl: 1)
Beim öffnen meiner DPROJ bekomme ich folgende Fehlermeldung.

Anhang 47743

Ich verwende mehrere abgeleitet Forms.
Bei abgeleiteten Forms die unter Delphi 10.2.1 erstellt wurden, tritt dieser Fehler auf.
Bei vielen anderen Forms die vorher erstellt wurden, gibt es keine Fehlermeldung.

Suchpfade, Einträge in der DPR, Einträge im Projectmanager sind alle vollständig und zeigen die angeblich vermisste Datei an.

Der Fehler tritt nur bei einer neu geschriebenen sehr einfachen abgeleiteten Form auf.
Unterschiede in der PAS und DFM kann ich nicht erkennen.

Die Hierarchien sind wie folgt:
NEU: TForm => TForm10 => TForm20 => TForm30.
ALT: TForm => TForm10 => TForm21 => TForm31 und weitere

Ablauf:
In der IDE sind geöffnet Form10, Form20, Form30 und alle werden dargestellt.
Ich schließe die IDE komplett und starte wieder. Dann erscheint der Fehler und bemängelt wird von der IDE das fehlen des Vorgängers von Form20, also Form10.
Dennoch wird Form10 und Form20 in der IDE vollständig dargestellt, aber nicht Form30.

Habe ich gleichzeitig auch noch Form21, Form31, geöffnet wird kein Fehler angezeigt, obwohl Form10 auch hier verwendet wird.

Es passiert auch, dass in der IDE nur Form20 geöffnet ist. Die Idee geschlossen und neu gestartet wird und dann der Fehler gemeldet wird und Form20 nicht dargestellt wird. Das ist aber nicht reproduzierbar.

Hat jemand eine Idee woran das liegen kann?

Karlheinz

hoika 16. Aug 2017 17:47

AW: Fehlermeldung beim Öffnen meiner DPROJ
 
Hallo,
der Fehler ist alt.
Sorge immer dafür, dass alle Forms offen sind.

Mache mal alle Forms zu und öffne Sie in der richtigen Reihenfolge (Basisforms zuerst).
Dann die IDE zu und wieder auf.

himitsu 16. Aug 2017 20:45

AW: Fehlermeldung beim Öffnen meiner DPROJ
 
Alternativ die Vorfahren in der Objektgalerie registrieren.
Dann kennt die IDE diese direkt und braucht nicht zu hoffen, dass die Units der Vorfahren schon geladen sind, bevor einer der Nachfahren geladen wird.
(aus dem Grund kann man in der IDE auch TForm, TFrame, TService usw. problemlos laden)

Oder lädst deine Vorfahren über ein Design-Package, wo diese Klassen via RegisterClass/RegisterClasses und RegisterNoIcon (oder RegisterComponents) dem FormDeigner und DFM-Loader bekannt gemacht werden.

EWeiss 16. Aug 2017 21:04

AW: Fehlermeldung beim Öffnen meiner DPROJ
 
Zitat:

der Fehler ist alt.
Schlimm genug solche einfachen Sachen dürften eigentlich nicht passieren und sollten schon längst behoben sein.

gruss

Glados 16. Aug 2017 21:18

AW: Fehlermeldung beim Öffnen meiner DPROJ
 
Ich denke Delphi müsste dreimnal oder viermal so teurer sein, damit überhaupt genug Geld und Manpower vorhanden ist.
Oder, ganz plump ausgedrückt, könnte sich Emba ja ausnahmsweise mal auf das konzentrieren, was wirklich wichtig ist: VCL und IDE ;)

Uwe Raabe 16. Aug 2017 21:22

AW: Fehlermeldung beim Öffnen meiner DPROJ
 
Zitat:

Zitat von EWeiss (Beitrag 1378888)
Zitat:

der Fehler ist alt.
Schlimm genug solche einfachen Sachen dürften eigentlich nicht passieren und sollten schon längst behoben sein.

Wenn es denn wirklich ein so alter Fehler ist, der immer auftreten würde, dann wäre er sicher behoben. Es ist ja nicht so, daß Formularvererbung so selten genutzt wird, und bei mir (und ich verwende extrem viel Formularvererbung) ist dieser Fehler noch nie aufgetreten, und dazu muss ich auch nicht irgendwelche Klimmzüge machen. Gibt es einen QP-Eintrag dafür - mit reproduzierbaren Steps?

Frickler 17. Aug 2017 07:57

AW: Fehlermeldung beim Öffnen meiner DPROJ
 
Zitat:

Zitat von hoika (Beitrag 1378878)
Hallo,
der Fehler ist alt.
Sorge immer dafür, dass alle Forms offen sind.

Mache mal alle Forms zu und öffne Sie in der richtigen Reihenfolge (Basisforms zuerst).
Dann die IDE zu und wieder auf.

Ich hatte den schon unter Delphi 5 (dann unter 7, XE, ...). Allerdings nur unter einer bestimmten Bedingung: er tritt nur auf bei Formularen, bei denen der Vorgänger nicht in der dpr-Datei aufgeführt ist (weil er als Lib nur über den Suchpfad eingebunden wurde).

Uwe Raabe 17. Aug 2017 08:16

AW: Fehlermeldung beim Öffnen meiner DPROJ
 
Zitat:

Zitat von Frickler (Beitrag 1378902)
er tritt nur auf bei Formularen, bei denen der Vorgänger nicht in der dpr-Datei aufgeführt ist (weil er als Lib nur über den Suchpfad eingebunden wurde).

Für die Formularvererbung ist es erforderlich, daß alle Vorfahren in dem Projekt eingebunden sind. Die Auffindbarkeit im Suchpfad genügt da nicht.

KHJ 17. Aug 2017 08:59

AW: Fehlermeldung beim Öffnen meiner DPROJ
 
Alle Vorfahren stehen in der DPR.
Ich habe zwischenzeitlich mal rumprobiert und die Namen einiger Forms geändert, und siehe da diese Forms zeigten dann keinen Fehler mehr. Dafür funktionierten aber Forms, die vorher keinen Fehler zeigten, plötzlich nicht mehr.

Ich habe jetzt manuell die Reihenfolge der Einträge in der DPR geändert und auch die Vorfahren, die vorher schon vor den eigentlichen Forms standen, an die Vererbungsreihenfolge angepasst.

Bis jetzt, nach mehreren Starts mit/ohne Windows-Neustart, sieht alles gut aus.

Karlheinz


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