Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Feld "Methoden" leer nach Codezeile mit ":" (https://www.delphipraxis.net/207560-feld-methoden-leer-nach-codezeile-mit.html)

Michael II 8. Apr 2021 08:42

Feld "Methoden" leer nach Codezeile mit ":"
 
In der IDE von 10.4 Update 2 bleibt das Feld "Methoden" ab und zu ab einer Codezeile leer.

Dabei scheint das Zeichen ":" eine Rolle zu spielen und wieviel Code oberhalb der "Problemzeile" steht.

In einem Projekt fehlt die Methoden-Info nach
Delphi-Quellcode:
str(ds_gibtminpunkt[wer, ij]: 4: 3, hs1);
in einem anderen nach
Delphi-Quellcode:
writeln( tf, inttostr( i ):4, VerbSocket.Addr : 20, LANIP : 20 , VerbSocket.Port : 10 );
wobei auch bereits
Delphi-Quellcode:
writeln( tf, inttostr( i ):4);
genügt.

Wenn ich den Programmcode der Funktion, in welcher das Problem auftritt kopiere und weiter oben im Code einfüge, dann tritt das Problem nicht mehr auf.

Wenn ich den Code wieder zurück kopiere ist das Problem wieder da.

Hat jemand einen Tipp?

Der schöne Günther 8. Apr 2021 09:02

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Ich dachte ich mache jetzt lange genug mit Delphi (seit 2013), aber so ein Konstrukt habe ich noch nie gesehen 😱

Ging den Leuten welche das Parsen in den neueren Versionen gemacht haben wahrscheinlich genauso...

Uwe Raabe 8. Apr 2021 09:07

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Zitat:

Zitat von Michael II (Beitrag 1486669)
Hat jemand einen Tipp?

Na, eben keine dieser veralteten Funktionalitäten wie str und die damit verwandte implizite Formatierung von Write(ln) verwenden, sondern die Strings z.B. mit Format zusammensetzen. Das wäre auch nicht nur ein pragmatischer Ansatz zur Lösung des Problems.

Michael II 8. Apr 2021 10:00

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Ja es ist je uralter Code und dass die Jüngeren unter uns den Code nicht mal lesen können ist mir auch klar (sieht eher nach DOS Zeiten aus....) Und klar, den Code kann ich locker "updaten".

Ich nehme an, dass Delphi seine Funktionen kennt. Und dass es kaum daran liegen wird, dass man sowas heute (und auch gestern) nicht mehr so schreibt. Wenn man sowas kompilieren kann, dann soll die IDE es auch verstehen.

Und dass es eine Rolle spielt WO der Code steht (weit oben in einer unit oder erst nach ein paar tausend Zeilen) deutet für mich auf ein allgemeineres Problem hin.

Besten Dank für eure Antworten. Sonnigen Tag wünsch...

himitsu 8. Apr 2021 10:58

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Nja, da wird ja grade viel dran rumgebaut.

Wenn dann irgendwann mal Compiler/CodeInsight/ErrorInsight/..... ALLE den selben Lexer/Parser/Interpreter/... benutzen, dann werden solche Probleme bestimmt mal der Vergangenheit angehören.


Ansonsten darfst dein Problem gern als Bugreport auf quality.embarcadero.com einreichen.

Michael II 8. Apr 2021 11:08

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
In Delphis System gibt's solchen Code übrigens auch ;-):
Delphi-Quellcode:
Str(val:0, S);
Sollte ich dem Problem woanders noch begegnen, werde ich mich wohl doch wieder mal um einen Account für quality.embarcadero.com kümmern.

(( Es ist relativ schwierig sowas zu melden - ein Minimalprojekt sähe hier wohl ziemlich gross aus... ))

Uwe Raabe 8. Apr 2021 11:28

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Zitat:

Zitat von Michael II (Beitrag 1486679)
JWenn man sowas kompilieren kann, dann soll die IDE es auch verstehen.

Das ist zwar formell richtig, aber dann wäre die Antwort auf deine Frage
Zitat:

Zitat von Michael II (Beitrag 1486669)
Hat jemand einen Tipp?

ein simples: Mach einen Bugreport und warte auf eine neue Version in der das behoben ist. Damit wäre aber niemandem wirklich gedient.

Rolf Frei 8. Apr 2021 13:00

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Kann mich da mal einer aufklären was diese Syntax denn überhaupt genau bewirkt? Das wirkt für mich auch sehr befremdlich, obwohl ich schon seit D1 dabei bin.

DeddyH 8. Apr 2021 13:02

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Delphi-Referenz durchsuchenSystem.Str

himitsu 8. Apr 2021 13:08

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Zitat:

Zitat von DeddyH (Beitrag 1486705)

Im Prinzip die gleichen "Parameter", wie man sie auch bei Delphi-Referenz durchsuchenFloatToStrF, Delphi-Referenz durchsuchenFormatFloat oder Delphi-Referenz durchsuchenTDoubleHelper.ToString angeben kann.

OlafSt 8. Apr 2021 13:28

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Weia, sowas habe ich schon Jahrzehnte nicht mehr gesehen - aber selber mal benutzt. Ich kann mir gut vorstellen, das die jetzigen Entwickler an Delphi nicht annähernd alt genug sind, sowas auch mal gesehen zu haben. Ergo hat das auch keiner mit in die neuen Lexer/Parser/Compiler-Funktionen übernommen :lol:

Michael II 8. Apr 2021 13:37

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Zitat:

Zitat von OlafSt (Beitrag 1486710)
Weia, sowas habe ich schon Jahrzehnte nicht mehr gesehen - aber selber mal benutzt. Ich kann mir gut vorstellen, das die jetzigen Entwickler an Delphi nicht annähernd alt genug sind, sowas auch mal gesehen zu haben. Ergo hat das auch keiner mit in die neuen Lexer/Parser/Compiler-Funktionen übernommen :lol:

Ist ja nix was die Welt gross bewegt... aber: Es muss drin sein - denn wenn man den Code in den ersten paar tausend Zeilen einer unit einbaut, geht es problemlos.

Erst wenn man es nach ein paar tausend Zeilen einbaut (oder vielleicht nach vielen Methoden) ist das Methodenfeld plötzlich leer. (Da läuft eventuell was über...)

Vielleicht werden in 10.4U2 die ersten paar tausend Zeilen einer unit mit Delphi 2 (von damals stammt der Code...) abgearbeitet und je weiter unten desto Delphi 10.xxx... ;-).

Michael II 8. Apr 2021 14:40

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Zitat:

Zitat von Rolf Frei (Beitrag 1486703)
Kann mich da mal einer aufklären was diese Syntax denn überhaupt genau bewirkt? Das wirkt für mich auch sehr befremdlich, obwohl ich schon seit D1 dabei bin.

Der Unterschied ist wohl: Ich bin seit Turbo Pascal dabei - das gab's damals in einer Box auf 3.5" Disketten inkl. mehreren Taschenbüchern im Bundle mit vobis PCs.. vobis kennen wohl auch nur noch wenige ProgrammiererInnen hier ;-).

mytbo 8. Apr 2021 15:34

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Zitat:

Zitat von Michael II (Beitrag 1486716)
Der Unterschied ist wohl: Ich bin seit Turbo Pascal dabei - das gab's damals in einer Box auf 3.5" Disketten inkl. mehreren Taschenbüchern im Bundle mit vobis PCs.. vobis kennen wohl auch nur noch wenige ProgrammiererInnen hier ;-).

Doch, doch. Ich glaube 129 DM habe ich damals für die Box bei Vobis gezahlt. Mit Turbo Vision schöne Oberflächen unter DOS zu erstellen war bei mir der Grund.

Bis bald...
Thomas

himitsu 8. Apr 2021 16:47

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Turbo Pascal ist nun AbandonWare und somit kostenlos.
Jetzt können alle wieder wunderschöne DOS-GUIs bauen (aber läuft nur noch in 32 Bit-Windowsen).

Der Vobis war bei uns schon vor vielen Jahren pleite und weg. (wusste garnicht, dass die noch leben)


Und ja, es gibt Fehler im Compiler, die treten erst auf, wenn der Compiler vorher einem bestimmten State war/ist. (was die Fehlersuche schon ein klein Bissl erschwert)

Redeemer 8. Apr 2021 21:32

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1486670)
Ich dachte ich mache jetzt lange genug mit Delphi (seit 2013), aber so ein Konstrukt habe ich noch nie gesehen 😱

Keine Sorge, ich arbeite seit 2004 mit Delphi und habe es auch noch nicht gesehen.

himitsu 9. Apr 2021 08:45

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Im Prinzip ist das nur ein Sprachkonstrukt, um in Write/WriteLn eine Formatierung rein zu bekommen, denn als "Parameter" ging es dort nicht.

dummzeuch 9. Apr 2021 10:49

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Zitat:

Zitat von himitsu (Beitrag 1486730)
Turbo Pascal ist nun AbandonWare und somit kostenlos.
Jetzt können alle wieder wunderschöne DOS-GUIs bauen (aber läuft nur noch in 32 Bit-Windowsen).

Es gibt sogar (schon lange) ein Borland-Pascal kompatibles Pascal für Win32 (und OS/2, falls das noch jemand kennt). Soweit ich mich erinnere, war da auch sowas wie Turbo Vision dabei: Virtual Pascal. Seit vielen Jahren ist es auch kostenlos.

Ich habe mal daran mitentwickelt. Hach, waren das noch Zeiten...

QuickAndDirty 10. Apr 2021 00:07

AW: Feld "Methoden" leer nach Codezeile mit ":"
 
Zitat:

Zitat von Redeemer (Beitrag 1486746)
Zitat:

Zitat von Der schöne Günther (Beitrag 1486670)
Ich dachte ich mache jetzt lange genug mit Delphi (seit 2013), aber so ein Konstrukt habe ich noch nie gesehen 😱

Keine Sorge, ich arbeite seit 2004 mit Delphi und habe es auch noch nicht gesehen.

Ja hab damals im 7.ten Schuljahr Str und Val nutzen gelernt.
Turbo Pascal...damals war alles compilermagic. Keiner wusste was in den Funktionen passierte.
Damals waren Programme und kompilierte Units auf 64kb Größe beschränkt.
Programme wurden deswegen aus mehreren Units zusammen gesetzt. so das man Programme größer als 64Kb schreiben konnte.
Kann es sein dass vielleicht der Parser oder Compiler ab der 64 KB grenze diesen alten Code nicht mehr versteht und sich niemand mehr drum gekümmert hat , weil niemand solchen alten code in modernen großen Units benutzt?


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