Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
[ÇÖZÜLDÜ] UniGUI İşleyiş Sorunu (JavaScript)
#1
Merhabalar,


UniGUI kullanarak bir proje geliştirmekteyim. Projemde bazı yerlerinde Javascript ile HTML kodlarım ile iletişime geçmem gerekiyor. Sorunumu kodları yazarak anlatmak isterim. Bir adet uniLabel içerisine yazılmış bir takım HTML kodlar var ve bu kodlar formda görüntüleniyor. Event kontrolü ile veriyi yakalıyorum. Şöyle ki;

if EventName = 'LoginPush' then
begin
   if Params['loginParam'].Value.Contains('login') then
 begin
  UniSession.JSCode('Login.UniMemo1.setValue(document.getElementById("email").value);');
  ShowMessage(UniMemo1.Lines.Text);
 end;
end;

Burada ilk butona tıkladığımızda uniMemo1 text değeri değişmesine rağmen ShowMessage olarak çağırdığım UniMemo1.Lines.Text'de bulunan değeri yerine eski değeri gösteriyor.

1) Proje açıldı. uniMemo1'de bulunan Lines.Text değeri boş.
2) Bir veri girildi HTML kod bölümüne
3) Bu kod JavaScript ile getElementByID ile uniMemo1 nesnesine başarılı bir şekilde set edildi.
4) Sonrasında uniMemo1'de bulunan değer ShowMessage ile gösterilmeye kalkındığında gösterilen değer boş oluyor.
5) Buttona bir kez daha bastığımda bu sefer doğru değer yani HTML kod bölümüne girdiğim değer geliyor.

Burada 4 ve 5. madde olan tersliği nasıl çözebilirim? Nerede sorun var diye düşünüyorum. 

UniGUI Sürüm: 1.0.0.1397

Teşekkürler,
İyi çalışmalar.
Yazılım Topluluğumuz -> Tıklayın
Kişisel Tanıtım Sitem -> Tıklayın
19 y/o, sadece öğrenmeye odaklanmış, insancık..
WWW
Cevapla
#2
emin değilim ama şu videoyu izlemen işine yarayabilir https://www.youtube.com/watch?v=ZvhJfX_BFOk

“Do. Or do not. There is no try.”
Cevapla
#3
(22-04-2019, Saat: 21:38)masteryoda Adlı Kullanıcıdan Alıntı: emin değilim ama şu videoyu izlemen işine yarayabilir https://www.youtube.com/watch?v=ZvhJfX_BFOk

Bu videoyu izledim hocam; zaten yapıyı baştan beri bu videoda ki mantığa göre işledim. Dediğim gibi kodlarda hiç sorun yok. Tek sorun işleyişte. Bekletmem lazım JS kodundan sonra. Sleep komutu JS kodu dahil tüm uygulamayı bekletiyor. Thread ile JS kodunu çalıştırıp bittikten sonra veri alma işlemini gerçekleştirmeye çalıştım olmadı. 

Timer koyunca oluyor 1 saniye aralıklar ile JS kodunu çalıştırdığı için algılıyor. Tek sorunum o iki satır kodun arasını bekletme kodu eklemem ama nasıl olacak onu bilmiyorum. Şu an JavaScript ile bekletmeyi deneyeceğim.

Teşekkürler.
Yazılım Topluluğumuz -> Tıklayın
Kişisel Tanıtım Sitem -> Tıklayın
19 y/o, sadece öğrenmeye odaklanmış, insancık..
WWW
Cevapla
#4
Eski sürüm olduğunda mi belki baya geliştirmeler yapıldı. Son versiyon 1495 . Kullanan ve bu versiyon sahip olan deneyebilir.
WWW
Cevapla
#5
(22-04-2019, Saat: 19:07)Halil Han Badem Adlı Kullanıcıdan Alıntı: Merhabalar,


UniGUI kullanarak bir proje geliştirmekteyim. Projemde bazı yerlerinde Javascript ile HTML kodlarım ile iletişime geçmem gerekiyor. Sorunumu kodları yazarak anlatmak isterim. Bir adet uniLabel içerisine yazılmış bir takım HTML kodlar var ve bu kodlar formda görüntüleniyor. Event kontrolü ile veriyi yakalıyorum. Şöyle ki;

if EventName = 'LoginPush' then
 begin
   if Params['loginParam'].Value.Contains('login') then
 begin
  UniSession.JSCode('Login.UniMemo1.setValue(document.getElementById("email").value);');
  ShowMessage(UniMemo1.Lines.Text);
 end;
end;

Burada ilk butona tıkladığımızda uniMemo1 text değeri değişmesine rağmen ShowMessage olarak çağırdığım UniMemo1.Lines.Text'de bulunan değeri yerine eski değeri gösteriyor.

1) Proje açıldı. uniMemo1'de bulunan Lines.Text değeri boş.
2) Bir veri girildi HTML kod bölümüne
3) Bu kod JavaScript ile getElementByID ile uniMemo1 nesnesine başarılı bir şekilde set edildi.
4) Sonrasında uniMemo1'de bulunan değer ShowMessage ile gösterilmeye kalkındığında gösterilen değer boş oluyor.
5) Buttona bir kez daha bastığımda bu sefer doğru değer yani HTML kod bölümüne girdiğim değer geliyor.

Burada 4 ve 5. madde olan tersliği nasıl çözebilirim? Nerede sorun var diye düşünüyorum. 

UniGUI Sürüm: 1.0.0.1397

Teşekkürler,
İyi çalışmalar.

Daha önce unigui ile calismadim.
Jscode içerisine yazdigin javascript kod satırının hemen sonunda alert ya da console.log gibi fonksiyonlarla bakabilirsin belki istemci tarafta.

Yine client tarafında bekletmek istiyorsan SetTimeout javascript fonksiyonuna bakabilirsin belki...
WWW
Cevapla
#6
(22-04-2019, Saat: 19:07)Halil Han Badem Adlı Kullanıcıdan Alıntı: Merhabalar,


UniGUI kullanarak bir proje geliştirmekteyim. Projemde bazı yerlerinde Javascript ile HTML kodlarım ile iletişime geçmem gerekiyor. Sorunumu kodları yazarak anlatmak isterim. Bir adet uniLabel içerisine yazılmış bir takım HTML kodlar var ve bu kodlar formda görüntüleniyor. Event kontrolü ile veriyi yakalıyorum. Şöyle ki;

if EventName = 'LoginPush' then
 begin
   if Params['loginParam'].Value.Contains('login') then
 begin
  UniSession.JSCode('Login.UniMemo1.setValue(document.getElementById("email").value);');
  ShowMessage(UniMemo1.Lines.Text);
 end;
end;

Burada ilk butona tıkladığımızda uniMemo1 text değeri değişmesine rağmen ShowMessage olarak çağırdığım UniMemo1.Lines.Text'de bulunan değeri yerine eski değeri gösteriyor.

1) Proje açıldı. uniMemo1'de bulunan Lines.Text değeri boş.
2) Bir veri girildi HTML kod bölümüne
3) Bu kod JavaScript ile getElementByID ile uniMemo1 nesnesine başarılı bir şekilde set edildi.
4) Sonrasında uniMemo1'de bulunan değer ShowMessage ile gösterilmeye kalkındığında gösterilen değer boş oluyor.
5) Buttona bir kez daha bastığımda bu sefer doğru değer yani HTML kod bölümüne girdiğim değer geliyor.

Burada 4 ve 5. madde olan tersliği nasıl çözebilirim? Nerede sorun var diye düşünüyorum. 

UniGUI Sürüm: 1.0.0.1397

Teşekkürler,
İyi çalışmalar.

Merhaba,
Unigui tarafında kodların derlenme işlemi delphiden farklı olarak adım adım gitmeyebilir yani; Siz mesajı ekranda görürken alt satırlardaki kodlar yürütülmüş olabilir. 

*Unigui devamlı hata ve eksiklikleri düzeltiyor, belkide versiyonla ilgilidir.

İyi çalışmalar.
Cevapla
#7
Merhabalar,

@r3n4m3 hocam haklısınız. Sürümüm çok eski. Denemeleri şu an bu sürümden gerçekleştirebilirim. O sürüm için lisans biraz zor gözüküyor.

@ismailkocacan üstat JS ile sleep fonksiyonu yazdım. Dediğin gibi üstat belki istemcide sorun vardır diye lakin basit bir algoritma ile halletim.

1) Bir adet hidden özellikli bir buton ekledim HTML sayfasına.
2) İlk aşamada giriş butonuna basınca setValue ile değerleri uniMemo nesnesine set etmekte.
3) Set ettikten sonra JS ile hidden olarak tanımladığım buton tetiklenmekte.
4) O butonda verileri uniMemo'dan çekip gösterim sağlıyor sorunsuz bir şekilde.

@pro_imaj evet hocam, UniGUI taraflı bazen hatalar oluyor. Onları da kendi oluşturduğum fonksiyon veya algoritmalar ile halletmeye çalışıyorum.

Cevaplar için herkese ayrı ayrı teşekkür ederim.

Saygılarımla,
İyi çalışmalar.
Yazılım Topluluğumuz -> Tıklayın
Kişisel Tanıtım Sitem -> Tıklayın
19 y/o, sadece öğrenmeye odaklanmış, insancık..
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  UniGUI Projesinde Loading Ekranında Beklemesi ErcanT 6 356 12-05-2020, Saat: 08:32
Son Yorum: gbg
Photo Türkçe Karekter sorunu ( Web Servis) folsec 11 760 30-04-2020, Saat: 14:11
Son Yorum: mrmarman
  UniGUI'ye Genel Bakış vkamadan 57 38.014 10-04-2020, Saat: 03:23
Son Yorum: Halil Han Badem
  UniGUI CallBackUrl Kullanımı - PHP'den Gelen Cevabı Alma Halil Han Badem 0 184 31-03-2020, Saat: 17:59
Son Yorum: Halil Han Badem
  UniGUI JQuery 1.11.2 Version Vulnerable Halil Han Badem 1 589 25-12-2019, Saat: 16:08
Son Yorum: klavye



Konuyu Okuyanlar: 1 Ziyaretçi