Io lo trovo fuorviante nella maggior parte dei casi, e ambiguo in molte situazioni (ad esempio, scrivendo Width all'interno dell'evento in un Form non è chiaro se ci si riferisce all'oggetto o al Form stesso... e il debugger considera solo quest'ultimo, cioè ignora il costrutto).Originariamente inviato da mondobimbi
wih è un costrutto del Pascal che non si ritrova in altri linguaggi (alemeno per quello che ho riscontrato io) ma che è per alcuni versi pratico e facilita spessa la lettura dei sorgenti
Un'alternativa al with è semplice: basta memorizzare il riferimento all'oggetto a cui si accede in una variabile.
Si evita così l'ambiguità del with mantenendo leggibilità ma soprattutto chiarezza dell'elemento a cui si fa riferimento (che è riportato in ogni istruzione).codice:var Qry: TQuery; begin Qry := frmMain.QueryNodi; Qry.Close; Qry.SQL.Clear; Qry.SQL.Text:='select P_nome as NomePlaylist from PLAYLIST'; Qry.Open; Qry.First; while not Qry.Eof do begin NomeNodo:= Qry.FieldByName('NomePlaylist').asstring; node := frmMain.trvLaterale.Items[0]; frmMain.trvLaterale.Items.AddChild(node, NomeNodo); Qry.Next; end; end;
Ciao!![]()

Rispondi quotando