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. |
Sürekli Devam Eden Runtime Hatası |
Yanıt Yaz |
Yazar | |
Enes_Akyüz
Yeni Üye Kayıt Tarihi: 25 Haziran 2024 Konum: Konya Durum: Aktif Değil Puanlar: 4 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Enes_Akyüz
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Gönderim Zamanı: 25 Haziran 2024 Saat 15:08 |
var MyForm: TCLForm; CompassImg,DirectionImg: TClProImage; GetTimer: TClTimer; CompassXLabel,CompassYLabel,CompassZLabel : TclLabel; void GetCompass; var currentYHeading,currentXHeading,currentZHeading: Double; rotationAngle: Double; { if (not MyForm.FormOrientationSensor.Sensor == nil) { currentYHeading = MyForm.FormOrientationSensor.Sensor.HeadingY; currentXHeading = MyForm.FormOrientationSensor.Sensor.HeadingX; currentZHeading = MyForm.FormOrientationSensor.Sensor.HeadingZ; CompassXLabel.Text = 'X : '+FloatToStr(Abs(currentXHeading)); CompassYLabel.Text = 'Y : '+FloatToStr(Abs(currentYHeading)); CompassZLabel.Text = 'Z : '+FloatToStr(Abs(currentZHeading)); } CompassImg.RotationAngle = currentYHeading; } { MyForm = TCLForm.Create(Self); MyForm.SetFormBGImage('https://clomosy.com/demos/compassbg.png'); CompassXLabel = MyForm.AddNewLabel(MyForm,'CompassXLabel','--'); CompassXLabel.Align = alBottom; CompassXLabel.Margins.Bottom= 30; CompassXLabel.Height = 50; CompassXLabel.Width = 150; CompassYLabel = MyForm.AddNewLabel(MyForm,'CompassYLabel','--'); CompassYLabel.Align = alBottom; CompassYLabel.Margins.Bottom= 20; CompassYLabel.Height = 50; CompassYLabel.Width = 150; CompassZLabel = MyForm.AddNewLabel(MyForm,'CompassZLabel','--'); CompassZLabel.Align = alBottom; CompassZLabel.Margins.Bottom= 10; CompassZLabel.Height = 50; CompassZLabel.Width = 150; CompassImg = MyForm.AddNewProImage(MyForm,'CompassImg'); clComponent.SetupComponent(CompassImg,'{"Align" : "Center","Width":350,"Height":350,"ImgUrl":"https://clomosy.com/demos/compass2.png", "ImgFit":"yes"}'); DirectionImg = MyForm.AddNewProImage(MyForm,'DirectionImg'); clComponent.SetupComponent(DirectionImg,'{"Align" : "Center","Width":350,"Height":350,"ImgUrl":"https://clomosy.com/demos/compass_arrow2.png", "ImgFit":"yes","MarginBottom":100,"MarginRight":28}'); MyForm.FormOrientationSensorType = ostHeading; MyForm.FormOrientationSensor.Active = True; GetTimer = MyForm.AddNewTimer(MyForm, 'GetTimer', 500); GetTimer.Enabled = True; MyForm.AddNewEvent(GetTimer, tbeOnTimer, 'GetCompass'); MyForm.Run; }Bilgisayar üzerinden, Clomosylearn uygulaması ile açıldığında sürekli RUNTİME hatası alıyorum.Kodlarım yukarıda belirttiğim gibi. Hata kodu aşağıda yer alıyor. |
|
BilalCndn
Forum Yöneticisi Kayıt Tarihi: 09 Ekim 2023 Durum: Aktif Değil Puanlar: 150 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı BilalCndn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
Merhaba Enes,
FormOrientationSensor mobil cihazlarda var olan bir sensör. Windows bilgisayarlarda bulunmadığı için çalışmıyor. Koda baktığımız zaman timer a bağlı void içerisinde if ile Orientation Sensorden veri gelip gelmediği kontrol ederek verileri değişkene alıp aynı zamanda label içerisine yazmışsın. Burada bir sıkıntı yok çünkü sensörden veri gelmiyorsa if içerisine girmiyor. Fakat if dışında 'CompassImg.RotationAngle = currentYHeading;' satırı var. Bu satırda alamadığımız Y değerini kullanarak Image nesnesinin RotationAngle değerini değiştirmeye çalışıyoruz. Değer olmadığı için de hata alıyoruz. Hatanın sürekli devam etmesinin sebebi de timer içerisinde tekrar tekrar aynı kodun çalışmasından kaynaklanıyor. Çözüm için bu satırı if içerisine alabilirsin. Bu sayede eğer ki sensörden veri alamazsa bile hata vermez.
Sorunun çözüme ulaşıp ulaşmadığı ile ilgili geri dönüşünü bekliyorum. İyi çalışmalar diliyorum. |
|
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 |