![]() |
Autovervollständigung geht nicht
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,
ich bin's schon wieder. In meinem (sehr alten) Projekt Fussball funktioniert die Autovervollständigung nicht. Wenn ich es "von Hand" mache, lässt es sich kompilieren und läuft. Ich habe hier im Forum gesucht. Es gibt einen langen Thred zu diesem Thema. Es soll an
Delphi-Quellcode:
liegen, das ich hier sehr intensiv nutze. Meine Type Deklarationen sind sehr umfangreich. Könnt ihr euch das mal im Anhang ansehen. Alle
with
Delphi-Quellcode:
zu entfernen, wäre extrem mühsam. Wie gesagt, das Programm läuft seit vielen Jahren stabil. Jetzt will ich es verbessern. Danke.
with
Willie. |
AW: Autovervollständigung geht nicht
Die Codevervollständigung ist leider ein schwieriges Thema, wenn man unsaubere Quelltexte mit Kreuzbeziehungen oder with hat und eine Delphiversion mit dem neuen LSP hat.
In deiner 10.1 Starter Edition hast du aber noch die alte Codevervollständigung ohne LSP. Da sollte die Vervollständigung zumindest aufgehen. Dass sie mit with nicht immer gute Vorschläge machen kann, liegt in der Natur der Sache. Aber abgesehen davon sollte es funktionieren. Geht denn die Auswahlliste grundsätzlich auf? Sprich was genau passiert? Davon abgesehen bringt with aber noch weitere Probleme, weshalb man es ohnehin beseitigen sollte:
|
AW: Autovervollständigung geht nicht
Zitat:
Ich habe viele
Delphi-Quellcode:
und verschachtelte
with Objekt1, Objekt2 do begin end
Delphi-Quellcode:
.
with
In Delphi Büchern wurde with empfohlen, um Quelltext zu sparen. Aber jetzt werde ich sie sukzessive entfernen. Ich denke, dass meine Typ Deklarationen im Vergleich zu einem professionellen Programm sicher nicht aufwändig sind. Willie. |
AW: Autovervollständigung geht nicht
Dafür, dass WITH mehr Probleme bereitet, als es Quellcode/Speicher einspart, was selbst eine 1-buchstabige lokale Variable besser lösen würde ...
Delphi-Quellcode:
Was denkt du, könnte dieser Code denn machen?
procedure TForm1.FormCreate(Sender: TObject);
var R: TRect; begin ... with R do begin Width := Right - Right; Height := Bottom - Top; end; end; Jeweils in Delphi 7 und in Delphi 10 :stupid: |
AW: Autovervollständigung geht nicht
Zitat:
|
AW: Autovervollständigung geht nicht
inline variables :stupid:
OK, nicht der perfekte WITH-Ersatz und erst in Delphi 12.2 repariert,
Delphi-Quellcode:
irgendwas.x := 123;
with irgendwas do x := 123; var i := irgendwas; i.x := 123: aber für FOR das Perfekteste, weil hier niermand mehr auf die saublöde Idee kommen kann, nach/außerhalb der Schleife nochmal auf i zugreifen zu wollen.
Delphi-Quellcode:
for var i := 1 to 10 do
|
AW: Autovervollständigung geht nicht
Zitat:
Delphi-Quellcode:
mit x und y unbekannt außerhalb des Konstruktes.
with var x := myImage1.Canvas, y := myImage2.Canvas.Brush do x.CopyRect(...);
|
AW: Autovervollständigung geht nicht
Delphi-Quellcode:
:angel:
...
begin var x := myImage1.Canvas; var y := myImage2.Canvas.Brush; x.CopyRect(...); ... // x end; ... // kein x |
AW: Autovervollständigung geht nicht
Delphi-Quellcode:
begin
var i: integer; for i:=1 to 10 do ... end; |
AW: Autovervollständigung geht nicht
Da ist i aber dennoch außerhalb des VAR zugreifbar.
Delphi-Quellcode:
begin
var i: integer; for i := 1 to 10 do begin end; hier end;
Delphi-Quellcode:
for var i := 1 to 10 do begin
end; hier nicht |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 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