» Poradna » Programy

Delphi - příkaz With

 |   | 

Procedura s parametrem X, v ní práce s objektem, který má taky složku X.
Dá se nějak v příkazu With Objekt dostat i na ten parametr X ? Prostě kvalifikovat ten parametr X tak, aby to nebralo ten objektový ?

Mohlo by vás také zajímat

Odpovědi na otázku

 |   | 

Nerozumím. Popiš konkrétně hlavičku procedury - s typy parametrů, deklaraci objektu X a způsob zamýšlené práce s tím. Pak rád poradím.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Pokud pouzijes klauzuli WITH, melo by mit prednost to, co je soucasti WITH.Takze WITH nepouzivej tam, kde by properties mohly mit konflikt s jinym objektem, promennou apod.WITH se hodi na jednoduche veci. Sam musis rozlisit, kde ti to kod zprehledni a kde naopak zneprehledni.A zapomen na nejake vnorene WITH, v tom se pak nevyzna ani prase.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Obcas ani compiler

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Honza Fiala pochopil správně, co tím myslím. Jde mi o to, jestli neexistuje nějaký kvalifikátor, který unvnitř klauzule with odliší prosté X ve významu složky objektu a kvalifikátor.X, který odstíní tu klauzuli with. Někde (VBA ?) se snad používá uvnitř klauzule with odkaz na objektové X ve tvaru .X (tečka X) a prosté X bez tečky znamená odkaz mimo objekt.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

self.X

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Obavam se, ze pokud je X parametr funkce a soucasne i property objektu, pouziteho ve WITH, tak zadny SELF nepomuze.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Příkaz with je shit! Už jsem se s tím několikrát nachytal (chyba díky stejnému jménu vlastnosti objektu, ke kterému se přistupuje přes with a nějaké vnější proměnné nebo vlastnosti).
Navíc v Delphi 5 (nevím jak v dalších verzích) se při ladění neobjevují hinty s hodnotou vlastnosti v sekci with.
Zkrátka with používám vyjimečně a pouze pro velice krátké bloky. Např.:
with Rect do  Rectangle(Left, Top, Right, Bottom);
 

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

jo, with je opravdu potreba pouzivat s rozmyslem, ale rozhodne nezatracovat, generuje totiz lepsi kod

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Nelze

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Příkaz, Parametr, Objektový, Procedura