AGB  ·  Datenschutz  ·  Impressum  







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

Im with statement obj referenzieren

Ein Thema von DGS · begonnen am 13. Okt 2007 · letzter Beitrag vom 17. Okt 2007
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#31

Re: Im with statement obj referenzieren

  Alt 16. Okt 2007, 12:29
@bernau:
man schalte in den projektoptionen die debug dcus an.
springe in das jeweilige add() mit f7 rein und kann per self.count den count ausgeben lassen.
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#32

Re: Im with statement obj referenzieren

  Alt 16. Okt 2007, 12:36
Zitat von M. Hassmann:
und kann per self.count den count ausgeben lassen.
Wenn ich diesen Konstrukt in einer Klassenmethode verwende wird dann self (der Klasse) zum self auf With referenziert? Das wage ich zu bezweifeln. Oder betrifft das nur den Debuger?

Gruß oki
42
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#33

Re: Im with statement obj referenzieren

  Alt 16. Okt 2007, 12:44
Zitat von M. Hassmann:
@bernau:
man schalte in den projektoptionen die debug dcus an.
springe in das jeweilige add() mit f7 rein und kann per self.count den count ausgeben lassen.
Hast Du schon mal ein Projekt debuggt, das grösser als einige Zeilen Code ist?
Und wenn Du die Zeit und die Musse hast, erst mit F7 da reinzuspringen und dann weiterzudebuggen, von mir aus...
Ich hab dies nicht und möchste beim Drüberfahren angezeigt bekommen, welchen Wert welche Variable grad hat oder was bei einer Berechnung rauskommt.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#34

Re: Im with statement obj referenzieren

  Alt 16. Okt 2007, 17:36
Zitat von M. Hassmann:
@bernau:
man schalte in den projektoptionen die debug dcus an.
springe in das jeweilige add() mit f7 rein und kann per self.count den count ausgeben lassen.
Nun ja, so könnte man es machen. Aber es ist nicht wirklich elegant, da ich aus dem zu prüfenden Quellcode herausgerissen werde und den Kontext zum ursprünglichen Quelltext verliere. Dann lieber die Variable definieren.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#35

Re: Im with statement obj referenzieren

  Alt 16. Okt 2007, 19:06
kommt natürlich auf den fall drauf an.
bei einem add weiß man das der count um eins erhöht wird
  Mit Zitat antworten Zitat
OlafSt

Registriert seit: 2. Mär 2007
Ort: Hamburg
284 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#36

Re: Im with statement obj referenzieren

  Alt 17. Okt 2007, 11:25
Ich benutze WITH sehr oft - und ich bin bisher immer gut damit gefahren in den letzten 16 Jahren, in denen ich Pascal/Object Pascal code.

Während der Entwicklung verwende ich WITH nur bei Initialisierungen von Records oder Objekten:
Delphi-Quellcode:
with SunsiteRec do
begin
  x1:=1;
  x2:=19;
  //Text:='';
  Msg:='';
end;
Im Debugger habe ich ohnehin den SunsiteRec als Watch mit ",r"-Parameter drin, sehe also gleich, ob alles glattgeht. Ansonsten wird erstmal ausformuliert, auch um solche Mehrdeutigkeiten wie "Caption:=Caption" und ähnliches sofort zu erkennen und bei der Deklaration von Objekten von vornherein zu eliminieren.
Delphi-Quellcode:
SunsiteRec.x1:=RxNumberEdit1.IntValue-217;
SunsiteRec.x2:=RxNumberEdit2.IntValue div 4;
//SunSiteRec.Text:=Edit1.Text;
SunsiteRec.Msg:=Edit1.Text;
Wenn der Code durchgetestet wurde und läuft, wird das ausformulierte durch WITH zusammengekürzt, Mehrdeutigkeiten - sofern noch vorhanden - bleiben dann einfach stehen. Laut OH löst der Compiler dann das WITH-Element nur einmal auf und nicht jedesmal, trägt also auch zur Optimierung bei.

Delphi-Quellcode:
with SunsiteRec do
begin
  x1:=RxNumberEdit1.IntValue-217;
  x2:=RxNumberEdit2.IntValue div 4;
  //SunSiteRec.Text:=Edit1.Text;
  Msg:=Edit1.Text;
end;
Ich habe schon ein paar Millionen Zeilen Code produziert und nie Probleme gehabt - auch nicht mit den Nachfolgern, die nach mir ein Projekt weiterbetreuten.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#37

Re: Im with statement obj referenzieren

  Alt 17. Okt 2007, 11:32
Zitat von OlafSt:
Im Debugger habe ich ohnehin den SunsiteRec als Watch mit ",r"-Parameter drin, sehe also gleich, ob alles glattgeht.
Was ist SunsiteRec?

Zitat von OlafSt:
Ansonsten wird erstmal ausformuliert, auch um solche Mehrdeutigkeiten wie "Caption:=Caption" und ähnliches sofort zu erkennen und bei der Deklaration von Objekten von vornherein zu eliminieren.

Wenn der Code durchgetestet wurde und läuft, wird das ausformulierte durch WITH zusammengekürzt, Mehrdeutigkeiten - sofern noch vorhanden - bleiben dann einfach stehen. Laut OH löst der Compiler dann das WITH-Element nur einmal auf und nicht jedesmal, trägt also auch zur Optimierung bei.
Man kann sich auch mehr Arbeit machen, als nötig...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#38

Re: Im with statement obj referenzieren

  Alt 17. Okt 2007, 11:47
Zitat von RavenIV:
Man kann sich auch mehr Arbeit machen, als nötig...
Auf diese Weise entstehen eben Unterschiede in der Codequalität.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
merlin17

Registriert seit: 15. Dez 2002
Ort: Mittelfranken
980 Beiträge
 
Delphi 10 Seattle Enterprise
 
#39

Re: Im with statement obj referenzieren

  Alt 17. Okt 2007, 11:48
ich bin zwischenzeitlich auch etwas vom "with" weggekommen... die Gründe wurden oben ja schon erwähnt.
Habe hier Castalia 5 zu schätzen gelernt:

Im Castalia Refactoring:

Eliminate "With" - resolves a with clause, removing the "with" block and placing appropriate references where the block had been.



thomas
- TeamNevrona cannot respond to questions received via email -
http://rave-notes.blogspot.com
  Mit Zitat antworten Zitat
DerDan

Registriert seit: 15. Nov 2004
Ort: Donaueschingen
251 Beiträge
 
Delphi XE3 Professional
 
#40

Re: Im with statement obj referenzieren

  Alt 17. Okt 2007, 12:20
Hallo Leutz


1) ich kenne einen der in C++ programmiert und sagt, das er gerne eine With Statement hätte.
2) in Visual Basic gibt es auch ein With Statement dort muss man aber einen Punkt (.) vor die Variable schreiben,
damit die ge"with"te Variable / Property verwendet wird.

grade der zweite Punkt fände ich unter Delphi nicht schlecht.

dann würde das in etwa so aussehen:

Delphi-Quellcode:
with SunsiteRec do
begin
  .x1 := 1;
  .x2 := 19;
  //Text:='';
  .Msg := '';
end;
aber merkt ihr eigentlich, das wir schon lange OT sind?

mfg

derDan
nichts ist so schön wie man es sich vorstellt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 13:06 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