Apd comport componenti (APRO)

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
şimal
Kıdemli Üye
Mesajlar: 516
Kayıt: 10 Kas 2003 09:36
Konum: ANKARA

Apd comport componenti (APRO)

Mesaj gönderen şimal »

Main formumda kullandığım bir apro componentini pompalarla iletişim için kullanıyorum.(com1, 9600, parity odd, stop 1) Timer ile sürekli iletişim halinde. Birde seri barkod okuyucu için aynı nesnenden (com2, 19200, odd, stop 1) alıyorum. okumada sorun yok ancak programı
Application.Terminate; ile sonlandırdığım bir butonu tıkladığımda

"Access violation at addres 00466690 in module... Read of addres s 000000070 process stoped. Use step or run to continue" msgini alıyorum.

Bu componenti kaldırdığımda sorun yaşamıyorum. Sizce derdi ne olabilir?
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Muhtemelen component bellekte kalıyor olabilir ve main form yok olduğu için erişim yaparken sorun çıkarıyordur.

Application.Terminate yerine doğrudan Close kullanarak main formu kapatın ve Application normal olarak sonlansın, bu şekilde bir problem oluşturmaz sanırım.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
şimal
Kıdemli Üye
Mesajlar: 516
Kayıt: 10 Kas 2003 09:36
Konum: ANKARA

Mesaj gönderen şimal »

Ama tek componentle çalışırken neden sorun çıkarmıyor?
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

%99 un üzerinde bir ihtimalle m$ :lol: comport larda bilgi gelmesi için API beklemek zorunda yani windows bekliyor, sen bunu 2 ye çıkartınca sonuç multitasking yokki :) sahtekar windows varmış gibi yaptığından diğer 2. comm a ilgilenmek için gereken süre uzuyor, ama diğer işlere yani mesajları işlemeye devam ettiğinden form kapanıyor. Benim görüşü bu yönde. form close da component ların iletişimin kesildiğini kontrol ettirttip beklet bence yada @Kuri_TLJ dediğini dene

Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

TComport bileşenindede benzer bir problem var.
eğer programı kapatırken porttaki rx ve tx flaglarını temizlenmez ise programı kilitleyebiliyor. clearbuffer komutu ile bufferlar temizlendikten sonra port close ve sonra program close :)
Kullanıcı avatarı
şimal
Kıdemli Üye
Mesajlar: 516
Kayıt: 10 Kas 2003 09:36
Konum: ANKARA

Mesaj gönderen şimal »

"Access violation" olmayan nesneye erişim hatasıdır değil mi?
İyide benim nesnem varki :cry:
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Bunun sebebi portları disconnect /close etmemen de olabilir :?:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla