Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Klassenvervollständigung und Default-Werte (https://www.delphipraxis.net/200615-klassenvervollstaendigung-und-default-werte.html)

Codehunter 8. Mai 2019 07:34

Klassenvervollständigung und Default-Werte
 
Hallo!

Wenn ich in einer Klassendeklaration eine neue Prozedur mit Default-Parameter anlege und per STRG-SHIFT-C vervollständigen lasse, dann wird im Implementation-Teil der Default weggelassen:
Delphi-Quellcode:
interface

type
  TMyClass = class
    procedure Produce(const AParam: string = 'Irgendwas'); // <-- STRG-SHIFT-C
  end;

implementation

procedure TMyClass.Produce(const AParam: string); // <-- Das "Irgendwas" fehlt
begin

end;
Gibt es eine IDE-Einstellung, dass man die Defaults auch unten mit erzeugen lassen kann?

Grüße
Cody

haentschman 8. Mai 2019 07:59

AW: Klassenvervollständigung und Default-Werte
 
Moin...8-)
:oops: Ich mußte es erst mal ausprobieren. Vieleicht weil der Defaultwert im implementation Teil nicht interressiert? (PS: Ich mach es aber auch mit Defaultwert per Hand)
Zur Frage: nicht daß ich wüßte...:?

Uwe Raabe 8. Mai 2019 08:16

AW: Klassenvervollständigung und Default-Werte
 
Eine derartige Einstellung ist mir auch nicht bekannt.

Andererseits finde ich das aktuelle Verhalten aber gar nicht schlecht. So gibt es nur eine Stelle, an der man den Default-Wert anpassen muss.

Übrigens: MMX Code Explorer macht das wiederum so, wie du willst. (bisher auch ohne Einstellmöglichkeit)

Rollo62 8. Mai 2019 08:25

AW: Klassenvervollständigung und Default-Werte
 
Ich finde es so Richtig, weill das eine Interface-Vereinbarung ist.
Das gehört IMHO nicht gedoppelt in die Implementierung.
  1. Die Dopplung der Einträge wäre ja redundant (ist Unsinnig bis gefährlich)
  2. Delphi akzeptiert trotzdem solche Default-werte in der Implementierung
  3. Was passiert wenn Interface/Implementierung unterschiedlich sind kann ich nicht sagen,
    ich vermute mal das der Interface-Teil "gewinnt" (genau so eine Situation halte ich für gefährlich).

Uwe Raabe 8. Mai 2019 08:34

AW: Klassenvervollständigung und Default-Werte
 
Zitat:

Zitat von Rollo62 (Beitrag 1431774)
Was passiert wenn Interface/Implementierung unterschiedlich sind

Der Compiler beschwert sich.

Codehunter 8. Mai 2019 10:19

AW: Klassenvervollständigung und Default-Werte
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1431772)
Übrigens: MMX Code Explorer macht das wiederum so, wie du willst. (bisher auch ohne Einstellmöglichkeit)

Weiß ich und finde ich auch prima so. Weil ICH das gerne so mag wenn ich den Defaultwert unten sehen kann. Machts für mich übersichtlicher. Wie oft ändert man denn Default-Werte und wie oft macht man Debugging? Ist mir so herum einfach lieber.

MMX nutze ich auch oft. Aber für die Methodenerzeugung nehme ich ihn ungern, weil er mit unseren Code-Designguides kollidiert. Du erinnerst dich vielleicht, hatte dich schon mal gefragt, ob du eine Möglichkeit einbauen könntest, den automatischen Zeilenumbruch im Interface-Teil (und nur da, im Implementation-Teil darf er gerne tun) abschaltbar zu machen. Denn wir haben sehr oft lange Parameterlisten, was MMX dann vertikal sehr in die Länge zieht.


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