![]() |
| Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir. |
kod hata |
Yanıt Yaz
|
| Yazar | |
Selimbeyo
Yeni Üye
Kayıt Tarihi: 23 Mart 2026 Durum: Aktif Değil Puanlar: 6 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Selimbeyo
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Konu: kod hataGönderim Zamanı: 1 saat 52 Dakika Önce Saat 15:23 |
|
merhabalar kodumda hata var ve sorunu çözemiyorum.https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
kod kısmen çalışıyor ama ürün adı ve adet girip ekle butonuna tıklayınca hata veriyor (hata ve kod aşağıda): Var anaForm : TclForm; edtUrunAdi, edtAdet : TclEdit; lblUrunAdi, lblAdet : TclLabel; btnEkle : TclButton; stokListesi : TclListView; tumUrunlerJson : String; void UrunEkle; Var yeniUrunJson : String; { if ((edtUrunAdi.Text == '') || (edtAdet.Text == '')) { ShowMessage('Lütfen Ürün Adı ve Adet alanlarını doldurun!'); exit; } yeniUrunJson = '{"MAIN_TEXT":' + QuotedStr(edtUrunAdi.Text) + ', "SUB_TEXT":' + QuotedStr(edtAdet.Text) + '}'; if (tumUrunlerJson <> '') { tumUrunlerJson = tumUrunlerJson + ','; } tumUrunlerJson = tumUrunlerJson + yeniUrunJson; stokListesi.clLoadListViewDataFromDataset('[' + tumUrunlerJson + ']'); edtUrunAdi.Text = ''; edtAdet.Text = ''; } { anaForm = TclForm.Create(Self); tumUrunlerJson = ''; lblUrunAdi = anaForm.AddNewLabel(anaForm, 'lblUrunAdi', 'Ürün Adı:'); lblUrunAdi.Align = alTop; lblUrunAdi.Margins.Top = 10; edtUrunAdi = anaForm.AddNewEdit(anaForm, 'edtUrunAdi', 'Ürün adı giriniz...'); edtUrunAdi.Align = alTop; lblAdet = anaForm.AddNewLabel(anaForm, 'lblAdet', 'Stok Adedi:'); lblAdet.Align = alTop; lblAdet.Margins.Top = 10; edtAdet = anaForm.AddNewEdit(anaForm, 'edtAdet', 'Adet giriniz...'); edtAdet.Align = alTop; btnEkle = anaForm.AddNewButton(anaForm, 'btnEkle', 'Listeye Ürün Ekle'); btnEkle.Align = alTop; btnEkle.Margins.Top = 15; anaForm.AddNewEvent(btnEkle, TbeOnClick, 'UrunEkle'); stokListesi = anaForm.AddNewListView(anaForm, 'stokListesi'); stokListesi.Align = alClient; stokListesi.Margins.Top = 20; anaForm.Run; } --------------------------- Error --------------------------- RUNTIME ERROR File library Main: Could not convert variant of type (UnicodeString) into type (Integer) when evaluating instruction CallProc ($FFFFFFFF,$1,$AB3684,$1D004B60,'clLoadListViewDataFromDataset'). Stack content is: [UnicodeString:{"MAIN_TEXT":'a', "SUB_TEXT":'2'},Integer:89926048,Integer:551129392,Integer:142607840...]. Source position: 28,72 Position: 28, 72. --------------------------- Tamam --------------------------- |
|
![]() |
|
Nevra Nur
Deneyimli Üye
Kayıt Tarihi: 09 Şubat 2026 Konum: konya Durum: Aktif Değil Puanlar: 61 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Nevra Nur
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 1 saat 39 Dakika Önce Saat 15:36 |
|
Merhabalar,
Kodunuzdaki hata, ilgili fonksiyonun doğrudan bir metin (String) yerine bir veri seti nesnesi (DataSet) beklemesinden ve JSON verilerinde standart dışı olan tek tırnak kullanılmasından kaynaklanmaktadır. Bu sorunu çözmek için JSON içeriğini oluştururken tek tırnakları çift tırnak (
") ile değiştirmeli ve metni listeye eklemeden önce Clomosy.ClDataSetFromJSON metodu ile uygun veri seti formatına dönüştürmelisiniz.Düzeltilmiş halini aşağıya ekliyorum.Var anaForm : TclForm; edtUrunAdi, edtAdet : TclEdit; lblUrunAdi, lblAdet : TclLabel; btnEkle : TclButton; stokListesi : TclListView; tumUrunlerJson : String; void UrunEkle; Var yeniUrunJson : String; { if ((edtUrunAdi.Text == '') || (edtAdet.Text == '')) { ShowMessage('Lütfen Ürün Adı ve Adet alanlarını doldurun!'); exit; } // DÜZELTME: QuotedStr yerine JSON standardı olan Çift Tırnak (") kullanıyoruz. yeniUrunJson = '{"MAIN_TEXT":"' + edtUrunAdi.Text + '", "SUB_TEXT":"' + edtAdet.Text + '"}'; if (tumUrunlerJson <> '') { tumUrunlerJson = tumUrunlerJson + ','; } tumUrunlerJson = tumUrunlerJson + yeniUrunJson; // DÜZELTME: Oluşturduğumuz JSON stringini doğrudan vermek yerine DataSet'e çeviriyoruz. stokListesi.clLoadListViewDataFromDataset(Clomosy.ClDataSetFromJSON('[' + tumUrunlerJson + ']')); edtUrunAdi.Text = ''; edtAdet.Text = ''; } { anaForm = TclForm.Create(Self); tumUrunlerJson = ''; lblUrunAdi = anaForm.AddNewLabel(anaForm, 'lblUrunAdi', 'Ürün Adı:'); lblUrunAdi.Align = alTop; lblUrunAdi.Margins.Top = 10; edtUrunAdi = anaForm.AddNewEdit(anaForm, 'edtUrunAdi', 'Ürün adı giriniz...'); edtUrunAdi.Align = alTop; lblAdet = anaForm.AddNewLabel(anaForm, 'lblAdet', 'Stok Adedi:'); lblAdet.Align = alTop; lblAdet.Margins.Top = 10; edtAdet = anaForm.AddNewEdit(anaForm, 'edtAdet', 'Adet giriniz...'); edtAdet.Align = alTop; btnEkle = anaForm.AddNewButton(anaForm, 'btnEkle', 'Listeye Ürün Ekle'); btnEkle.Align = alTop; btnEkle.Margins.Top = 15; anaForm.AddNewEvent(btnEkle, TbeOnClick, 'UrunEkle'); stokListesi = anaForm.AddNewListView(anaForm, 'stokListesi'); stokListesi.Align = alClient; stokListesi.Margins.Top = 20; anaForm.Run; } |
|
![]() |
|
Yanıt Yaz
|
|
| Tweet |
| Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |