AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Das with-Statement in XE4

Ein Thema von Codehunter · begonnen am 22. Apr 2013 · letzter Beitrag vom 8. Sep 2013
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.291 Beiträge
 
Delphi 12 Athens
 
#1

AW: Das with-Statement in XE4

  Alt 22. Apr 2013, 08:58
Mal ganz davon abgesehen, dass mir das so ziemlich auf den Zünder geht (persönliche Meinung) dürfte das dazu führen dass viele Drittanbieter-Komponenten ziemlich lange brauchen werden bis sie für XE5 (oder wo auch immer with dann rausfliegt) verfügbar sind.

Am Rande bemerkt, ich habe in 16 Jahren Delphi-Coderei keinen Scope-Konflikt erlebt der mich Tage der Sucherei gekostet hätte. Vielleicht liegts ja auch an meinem Programmierstil oder wie ich die IDE bediene, was weiß ich.

Jedenfalls käme ich aus heutiger Sicht kaum ohne with-Statement aus. Andererseits, wenn ich meinen 7-Jahre-Migrationszyklus in Betracht ziehe und das "with-CutOff" in 3 Jahren kommt, träfe es mich erst in 10 Jahren. Vielleicht habe ich bis dahin meine betreffenden Synapsen neu vernetzt ^^

Oder ich geh in Rente...
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.229 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Das with-Statement in XE4

  Alt 22. Apr 2013, 09:08
Am Rande bemerkt, ich habe in 16 Jahren Delphi-Coderei keinen Scope-Konflikt erlebt der mich Tage der Sucherei gekostet hätte.
Ich habe ja nicht gesagt das es ein einzelnes With-Statment war.
Bei mittlerweile über 1,5 Mio. Quellcodezeilen und einigen Bibliotheken die man selbst portieren musste (u. a. weil die Entwicklung eingestellt wurde ist man schon auf einge with-Fallen gestoßen die Teilweise sich gut in der SW-Versteckt hatten und man an ganz anderer Stelle zuerst gesucht hatte.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.160 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Das with-Statement in XE4

  Alt 22. Apr 2013, 09:15
Andererseits, wenn ich meinen 7-Jahre-Migrationszyklus in Betracht ziehe und das "with-CutOff" in 3 Jahren kommt, träfe es mich erst in 10 Jahren. Vielleicht habe ich bis dahin meine betreffenden Synapsen neu vernetzt ^^

Oder ich geh in Rente...
Ich stimme Dir zu 100% zu...

"7-Jahre-Migrationszyklus" klingt nach "ich arbeite auch noch mit D2007 wegen Unicode Umstellung"..

Ich möchte wissen wieviel prozent der Entwickler immer noch mit D2007 arbeiten, weil die "alten" Projekte zu groß sind um diese auf Unicode um zu stellen... (Aber das ist ein anderer Thread)

Ich möchte mal behaupten ich hatte NOCH NIE einen Fehler der aus einen With resultierte...

Liegt vielleicht daran, das ich With nicht in der 1. Ebene benutze... Beispiel:


MyClass.Subclass.Coole.Text := 'Bla' Dann schreibe ich

Delphi-Quellcode:
With MyClass.Subclass do
  Cool.Text := 'Bla'
und nicht

Delphi-Quellcode:
With MyClass.Subclass.Cool do
  Text := 'Bla'
So läßt sich das auch nachher immernoch super lesen...

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.644 Beiträge
 
#4

AW: Das with-Statement in XE4

  Alt 22. Apr 2013, 08:11
Nein, das erwartet keiner.
Das Problem mit with ist, dass es Scopes verschleiert.

Was ist, wenn Du in einem With-Block, den Wert von Tag des aktuellen Forms auf Sub-Controls schreiben willst? Bam-Scope-Konflikt.

Delphi-Quellcode:
with FormComponent.Property1.SubProperty2.SubProperty3 do
begin
  BoolValue:= self.BoolValue;
  IntValue:= self.IntValue;
  StringValue:= self.StringValue;
end;

// wird dann zu
var myObject: TypeOfSubProperty3;

//...

myObject := FormComponent.Property1.SubProperty2.SubProperty3;
myObject.BoolValue:= BoolValue;
myObject.IntValue:= IntValue;
myObject.StringValue:= StringValue;
Letzlich sparst Du Dir damit sogar noch eine Zeile
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:02 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