Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: With ... do Anweisungen....

  Alt 23. Sep 2004, 01:08
Zitat:
Delphi-Sprachreferenz

Ist beispielsweise Objektn sowohl ein Element von Objekt1 als auch von Objekt2, wird es als Objekt2.Objektn interpretiert.
Was ist daran unklar?? Das erklärt den Sachverhalt doch optimal. Wenn eine Eigenschaft in mehreren der angegebenen Objekte vorhanden ist, wird immer die Eigenschaft des letzten angegebenen Objektes das passt genommen.
with ist nicht dazu da, um mehrere Objekte gleicher Klasse auf einmal zu behandeln, sondern lediglich zur Vereinfachung des Schreibens.
Anstelle von:
Delphi-Quellcode:
Object1.DoThis;
Object1.DoThat;
Object1.DoSometingElse;
Object1.DoNothing;
ermöglicht with:
Delphi-Quellcode:
with Object1 do
begin
  DoThis;
  DoThat;
  DoSometingElse;
  DoNothing;
end;
Das und nur das macht with. Für deinen Zweck brauchst du FindComponent, oder du erzeugst deine Labels von vorne herein in einem array of TLabel von Hand, und nicht im Formulardesigner. Dann kannst du mit einer for-Schleife über deine Labels iterieren.

Mit Bug-Vorwürfen wäre ich ganz vorsichtig...


gruss,
Fabian

btw: Das Verwenden von mehreren Objekten in with wird im allgemeinen als schlechter Stil angesehen, da man so gut wie garnicht mehr nachvollziehen kann welche Property sich denn nun anuf welchen Objekt bezieht. Bei typgleichen Objekten ists noch einfach: Immer das letzte in der Liste. Aber sonst kann es echt grausam werden. (Wird's je nach Code auch schon mit nur einem Objekt und anderen Feldern der aktuellen Klasse die wohlmöglich gleich heissen.)
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat