1 Son düzenleyen, ugurlu2001 (02.05.2014 11:35:32)

Konu: ForEach / SetAll / NewObject - AddObject

Selamlar,

Visual Fox Pro
FOR EACH loColumn IN ThisForm.PFMain.PgGiris.grdTakim.Columns 

    loColumn.NewObject('ModelOrder', 'ModelOrder','MyGoClass.VCX')
      loColumn.CurrentControl = 'ModelOrder'
      loColumn.Sparse = .f.
ENDFOR

Yukarıdaki kod yaklaşık 2 küsür saniye sürüyor.  Tek satırdan oluşan ve yaklaşık 5/10 kolonu olan bir grid için.

SETALL ile yukarıdaki syntax daha kısa hale gelebilir mi? ( Yada SETALL ile bunu nasıl yapabilirim demek daha doğru galiba. )
Birde süresi kısalır mı ( Asıl önemli olan bu.  Alternatif yöntem önerisi de olabilir.)

Cevaplar ve yorumlar için için şimdiden teşekkür ediyorum.

Sevgiler

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

2

Re: ForEach / SetAll / NewObject - AddObject

Ugur,
For each yerine for ix = 1 to ...
denedin mi? 2sn cok uzun bir sure.

3

Re: ForEach / SetAll / NewObject - AddObject

Üstat, 2 yollada denedim, sonuç değişmiyor, SetALL ile de olmadı; NEWOBJECT yada ADDOBJECT ile yeni custom class eklemek..

Bahsettiğim Custom Class içerisinde image var ama sorunun bunla ilgili olduğunu düşünmüyorum.

Dinamik değişen grid/kolon yapısında; griddeki kolon sayısı arttıkça, süre katlamalı olarak uzuyor:

1 kolonluk gridde yaklaşık  0,2 snye iken;
7 kolonluk gridde yaklaşık 2,2 sn ye sürüyor.

Bir yerde hata yapıyorum ama nerede olduğundan emin değilim

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

4

Re: ForEach / SetAll / NewObject - AddObject

Goruntu varsa acikliyor aslinda. Icerikleri zengin sanirim (1-2 K degil Mb).

5

Re: ForEach / SetAll / NewObject - AddObject

Evet Görüntü var. Her bir kolon için resim boyutu 150 - 300 K arasında.

Yinede 2 sn ye çok uzun gibi geliyor bana.

- Tek kolonluk bir gridde; satır sayısı N olsada sorun yok. ( nekadar çok olsada değişmiyor)
- Ama tek satırlık bir gridde, 8-10 kolon olduğunda süre çok uzuyor.

Sen normal bu diyorsan hiç uğraşmayacağım üstat.

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

6

Re: ForEach / SetAll / NewObject - AddObject

Çok daha deneyimli arkadaşlar bulunuyor. Ukalalık olacak belki ama;

Bir yerde okumuştum, FOR- ENDFOR yerine WITH-ENDWITH'in çok daha kısa sürede iş yaptığını.
Kendi kodlarımda da uyguladım süre gerçekten çok kısalmıştı.

Burada uygulanabilir mi bilemiyorum ne yazık ki. Bir fikir işte.

7 Son düzenleyen, ugurlu2001 (02.05.2014 20:17:50)

Re: ForEach / SetAll / NewObject - AddObject

Kandilzade öneri için teşekkürler smile

Sorun genel olarak grid.column  kontrolünün içerisinde; içerik olan yüklü bir container olmasından kaynaklı imiş. Kolon sayısı arttıkça da süre katlamalı olarak uzuyor haliyle.

Çetin Üstada ilgisi için teşekkür ediyorum.

Alternatif bir yöntem ile sorun çözülücek gibi görünüyor.

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü