![]() |
Probleme mit 'Deklaration suchen' (u.a.)
Hallo,
Seit ein paar Tagen beobachte ich bei der Arbeit mit meinem Delphi 10.1 Berlin Starter ein seltsames und ausgesprochen lästiges Phänomen: In einer Unit, die das Hauptformular einer Anwendung und etliche Zeilen Programmcode enthält, funktioniert 'Deklaration suchen' im Kontextmenu nicht mehr. Es erscheint nur ganz kurz die Sanduhr, sonst passiert nichts. Außerdem wird, wenn man einen Prozedur- oder Funktions- bzw. Methoden-Aufruf eintippt, nicht mehr der 'Hint' mit der Parameterliste angezeigt. In allen anderen Projekten, ja selbst in allen anderen Units, die von o.g. Unit im selben Projekt benutzt werden, funktioniert alles wie gewohnt. Dieses Problem wurde ja so oder so ähnlich schon öfter berichtet, auch hier in DP. Leider habe ich nirgendwo eine brauchbare Lösung gefunden. Wo könnte man da ansetzen? Ich bin für jeden Hinweis dankbar. :? |
AW: Probleme mit 'Deklaration suchen' (u.a.)
Das Projekt mal vollkommen neu erstellen, damit alles kompiliert wird.
Hilft zuweilen. Eventuell dann auftretende Fehler beheben, Warnungen bearbeiten ... |
AW: Probleme mit 'Deklaration suchen' (u.a.)
Hallo,
öffne diese Unit mal mit dem Editor (Notepad) und schau nach "verdächtigem Aussehen". Ist blöd beschrieben, aber naja. Zur Not erstelle die Unit mit Notepad neu und kopiere den Inhalt auch wieder per zweitem Notepad in die neue Unit. Vergleiche den Anfang der Unit mit einer anderen über einen Hex-Editor. |
AW: Probleme mit 'Deklaration suchen' (u.a.)
Außerdem kann es helfen das dcu Verzeichnis des Projekts zu leeren.
|
AW: Probleme mit 'Deklaration suchen' (u.a.)
Hm,
und (z.B. mit SearchEverything) mal nach Dubletten der Pas- und Dcu-Datei suchen. |
AW: Probleme mit 'Deklaration suchen' (u.a.)
Kannst du nicht ein paar Stände zurückgehen und schauen wo es noch nicht auftritt? Ansonsten würde ich immer weiter Code rauslöschen um den Übeltäter zu finden. Ich hatte öfter mit anonymen Methoden oder Inline-Records das Problem dass die Code-Vervollständigung nicht mehr funktionierte und die Code-Vervollständigung teilweise völlig amok lief.
|
AW: Probleme mit 'Deklaration suchen' (Gelöst?)
Hallo,
Fast alle hier vorgeschlagenen Schritte hatte ich schon versucht. Die Lösung fand ich tatsächlich, indem ich nach und nach alle nach der letzten funktionierenden Version durchgeführte Änderungen rückgängig gemacht hatte. Aber des Rätsels Lösung wirft neue Fragen auf. Folgender Sachverhalt: Ich hatte im Interface-Teil vor der Deklaration des Hauptformulars folgende Typ-Deklaration platziert:
Code:
In der anschließenden Deklaration des Hauptformulars wurde dann in der 'private' - Sektion ein Feld dieses Typs deklariert:
unit GetLatestGUI_V4;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, Shellapi, ImgList, Buttons, Menus, ToolWin, System.ImageList, UITypes, AnsiStrings, iTunesLib_TLB, FileListCopy, CreateClips, GLOptions; type TMemoBak = Array[0..1] of String;
Code:
Nachdem ich die 'private' Felddeklaration 'membak' entfernt und durch eine (Unit-)globale Variable des gleichen Typs im Implementations - Teil ersetzt hatte, war der Fehler verschwunden. Alternativ genügt es, die Typ - Deklaration in den Interface-Teil einer in der 'uses'-Klausel aufgeführten Unit zu verschieben. Dann kann auch das 'private' Feld deklariert werden.
type
TGL4Mainform = class(TForm) Label3: TLabel; Label4: TLabel; Memo1: TMemo; MemoButton1: TButton; //[...] (96 Deklarationen) procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); //[...] (56 Deklarationen) private { Private-Deklarationen } membak: TMemoBak; Playlistmode:TListmode; allsize: int64; //usw. Alles in allem äußerst rätselhaft, wie das zusammenhängt. Womöglich ist das merkwürdige Verhalten nur ein Seiteneffekt irgendeines tiefer liegenden Fehlers oder gar eines Bugs der IDE? Jedenfalls lässt sich das Projekt ansonsten fehlerfrei compilieren bzw. erzeugen. Es gibt auch keinerlei speziellen Hinweis oder Warnung. Das Ganze ist zuverlässig reproduzierbar, auch in anderen Units verschiedener Projekte. Vielleicht hat einer der hier versammelten Experten eine Erklärung für das rätselhafte Phänomen? Gruß Maekkelrajter |
AW: Probleme mit 'Deklaration suchen' (u.a.)
Bug ist bekannt und laut Quality Portal in Berlin Update 2 behoben. Da du nur die Starter hast wirst du wohl nicht drum herum kommen, darauf ein dynamisches Array zu machen. Ansonsten könnte es passieren, dass du den Fehler immer wieder zu spüren bekommst. Über den Fehler wurde
![]() Siehe QC Eintrag: ![]() |
AW: Probleme mit 'Deklaration suchen' (u.a.)
Die Alternative ist auf die 10.2 Tokyo Starter umzusteigen. Da dürfte das auch erledigt sein.
|
AW: Probleme mit 'Deklaration suchen' (u.a.)
So ist es. Mit Delphi 10.2 Tokyo Starter ist das Problem in der Tat erledigt. Wieder mal viel wertvolle Zeit verplempert. Wie immer hatte ich natürlich als erstes eigene Fehler im Verdacht. Delphi - Bugs sind mir bisher äußerst selten untergekommen, weshalb ich sie immer als allerletzte Möglichkeit in Erwägung ziehe.
Gruß Maekkelrajter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 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