Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Formular wird nicht angezeigt (https://www.delphipraxis.net/216489-formular-wird-nicht-angezeigt.html)

BRobby 6. Jan 2025 16:06

Formular wird nicht angezeigt
 
Hallo zusammen,

ich studiere gerade den Quelltext der CnWizards.
Dabei wird bei allen Units, z.B. bei CnSrcTemplate, das zugehörige Formular nicht angezeigt.
Auch erscheint in der IDE der Tab Design nicht.

Woran kann das liegen?

dummzeuch 6. Jan 2025 16:32

AW: Formular wird nicht angezeigt
 
Zitat:

Zitat von BRobby (Beitrag 1544860)
Hallo zusammen,

ich studiere gerade den Quelltext der CnWizards.
Dabei wird bei allen Units, z.B. bei CnSrcTemplate, das zugehörige Formular nicht angezeigt.
Auch erscheint in der IDE der Tab Design nicht.

Woran kann das liegen?

Üblicherweise fehlt dann im .dproj das <Form>...</Form> Element:


<DCCReference Include="..\..\Source\CleanDirectories\GX_CleanDir ectoriesOptions.pas">
<Form>fmCleanDirectoriesOptions</Form>
<FormType>dfm</FormType>
</DCCReference>

BRobby 6. Jan 2025 17:23

AW: Formular wird nicht angezeigt
 
Das passiert aber auch, wenn man die Unit ansieht ohne ein Projekt geladen zu haben.

jaenicke 6. Jan 2025 18:02

AW: Formular wird nicht angezeigt
 
Auf den ersten Blick sehe ich die Ursache auch nicht. Das IFDEF scheint nicht die Ursache zu sein, ebenso wenig, wenn TCnTranslateForm nicht bekannt ist (ich habe es testweise in TForm geändert).

Ich schaue mal, ob ich nachher Zeit für einen genaueren Blick habe.

jaenicke 8. Jan 2025 21:44

AW: Formular wird nicht angezeigt
 
Der Grund ist doch, dass dort der Quelltext in IFDEFs liegt. Da hatte ich micht geirrt. Mit dieser Zeile oben in der Unit klappt das:
Delphi-Quellcode:
{$DEFINE CNWIZARDS_CNSRCTEMPLATE}

...
Wenn du nur das Formular öffnest, wird der Vorfahr in der Unit CnWizMultiLang dann aber nicht gefunden, aber wenn beide Units in einem Projekt sind, klappt das.

Das DEFINE ist aber auch dann nötig, wenn die Include-Datei gefunden ist und das IFDEF eigentlich setzt. Ich vermute, dass in älteren Delphiversionen die IFDEFs durch den Formulardesigner nicht richtig beachtet wurden (und es deshalb ging), nun aber schon. Die Include-Dateien werden aber dort offenbar nicht ausgewertet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz