Einzelnen Beitrag anzeigen

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