Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Datendefinition aus Form fehlt (https://www.delphipraxis.net/209012-datendefinition-aus-form-fehlt.html)

cckLoud 13. Okt 2021 14:58

Delphi-Version: 5

Datendefinition aus Form fehlt
 
Eben gerade wollte ich ein Menuitem des Mainmenus disablen, also "<MyMenuitem>.enabled := true". An sich keine Sache, aber Kompilierfehler

"[dcc32 Fehler] Unit1.pas(921): E2003 Undeklarierter Bezeichner: 'mmDatenbeschaffung1'"!!!

Hab nachgeguckt, das Menuitem ist tatsächlich nicht in dem Maskendefinitionsteil der Unit vorhanden. Im dfm ist es drin (auch in der Textansicht).

Bleibt die Frage: wie kann das sein?

Eine Amerkung: wenn ich versuche, das manuell einzutragen, kommt folgende Meldung:
"
Feld Form1.mmDatenbeschaffung1 besitzt keine entsprechende Komponente. Soll die Deklaration entfernt werden?

"
Auch Umbenennen im Objektinspektor bringt keine Hilfe...

Delphi.Narium 13. Okt 2021 15:14

AW: Datendefinition aus Form fehlt
 
Die Fehlerbeschreibung weist eben genau auf das Problem hin, das Du gerade beobachtest.

Sie besagt, dass in der DFM etwas enthalten ist, was in der zugehörigen Unit fehlt.

Vermutlich ist aus irgendeinem Grund im Quelltext der Unit eine Zeile der Form
Delphi-Quellcode:
mmDatenbeschaffung1 : TMenuItem;
verschwunden.

Passieren kann das, wenn man mal zufällig im Bereich von
Delphi-Quellcode:
TForm1 = class(TForm)
steht und versehentlich Strg+Y drückt und damit eine Zeile löscht, ohne dies zu bemerken.

cckLoud 13. Okt 2021 16:37

AW: Datendefinition aus Form fehlt
 
Nein, ich habe die Zeile nicht versehentlich gelöscht. In diesem Fall hätte sich ja das Programm vorher nicht übersetzen lassen. Die Definition fehlt übrigens auch unter D7.

Nein, diese Menüfunktion ist schon ewig (mindestens 10 Jahre) drin und lässt sich im laufenden Programm auch problemlos starten. Nur jetzt soll sie temporär disabled oder ausgeblendet werden, weil sie fundamental überarbeitet wird, weil die bisherigen Grundlagen entfallen sind. Und das wollte ich das eigentlich im Programm zu Laufzeit tun, mit dem beschriebenen Ergebnis.

Eingefügt wurde das Menü über den Formdesigner, bei dem ich eigentlich davon ausgehe (und wie die Erfahrung eigentlich auch lehrt), dass der ein neues Komponente auch im Programmcode automatisch einträgt, auch ein Menueitem. Schliesslich klappt das bei TEdits ja auch!

cckLoud 14. Okt 2021 09:00

AW: Datendefinition aus Form fehlt
 
Fall gelöst! Ich weiss zwar immer noch nicht, warum da kein Eintrag war, aber ich habe den Menüpunkt neu angelegt, dann hat Delphi eingetragen ...


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