Sanal bir Nesneyi Farklı Scriptlerden kontrol etmek
Salih bey merhaba,
Bir screen üzerine Groupbox ekledim adı GroupBox_0
sonra;
“Açılış” isimli scriptin içerisine (ki bu script başlangıçta otomatik çalışıyor) şu kodları yazdım
..
Public ObjectOfActiveScreen As System.Collections.ArrayList
Public ObjectNameOfActiveScreen As System.Collections.ArrayList
public ADRES_SAYISI as uint16
public Sub Load
‘——- Script Start Line ——-
dim BTN(5) as object
dim u as integer = ObjectNameOfActiveScreen.IndexOf(“GroupBox_0”)
Dim BTN1,BTN2,BTN3,BTN4,BTN5 as new Button
BTN(1)=BTN1:BTN(2)=BTN2:BTN(3)=BTN3:BTN(4)=BTN4:BTN(5)=BTN5
for i=1 to ADRES_SAYISI
BTN(i).width=40:BTN(i).height=40:BTN(i).Location=New System.Drawing.Point(725, 100)
ObjectOfActiveScreen(u).Controls.Add(BTN(i))
Next i
…
Sayfa açıldığında yukarıdaki kodlar çalışıyor ve üst üste 5 adet buton ekliyor.
Şimdi sorum (ve sorunum) şu;
aynı sayfadaki bir butona bağlı olan tag’ı (adı:Tag_1 olsun) çalıştırıyorum. Tag_1 de BTN1 den BTN5 e kadar olan sanal butonlarımın konumlarını değiştirmek istiyorum. Ancak Tag_1 BTN1’i bir obje olarak görmüyor. i=ObjectNameOfActiveScreen.IndexOf(BTN(1)) dediğimde i’ye bir değer döndürmüyor.
Tag_1 de dim BTN1,BTN2,BTN3,BTN4,BTN5 as new Button desem new button değil, ..as Button desem yine sonuç alamıyorum.
Kısaca bir script ile tanımladığım sanal bir nesneye bir başka scriptten nasıl ulaşmalıyım.
Merhaba Hocam,
Bir çok yöntem ile erişebilirsiniz. İlk aklıma gelen iki yöntemi yazıyorum.
1. WinTrScadaObject_1 – 10 nesneleri public nesnelerdir. Dinamik oluşturduğunuz nesneleri bu nesnelere ile taşıyabilirsiniz.
WinTrScadaObject_1 = BTN ‘Kodu ile buton array’ini yükleyip daha sonra aşağıdaki gibi kullanabilirsiniz.
WinTrScadaObject_1(0) ‘birinci buton veya BTN1 = WinTrScadaObject_1(0)
2. Control.Find metodu kullanabilirsiniz. BTN1 = ObjectOfActiveScreen(u).Controls.Find(“BTN1”,True) Bu şekilde kullanmak için butonlar oluşturulduğunda Name özellğine BTN1 yazmalısınız.
Not: Butonlara tıklandığında olmasını istediğiniz olaylar için aşağıdaki örneğe bakınız.
https://www.wintr.com.tr/2015/01/nesne-deger-girme/
Was this answer helpful?
LikeDislike