Merhaba
Mini Terminal isminde bir örnekte TComTerminal isminde bir component var. TComTerminal her zaman doğru ve hızlı bilgi alıyor, TComport (http://comport.sf.net/) ve ComDataPacket componenti ile birlikte çalışıyor. Problemim ; bu componentin eski (üzerinde seri port olan) bilgisayarlarda düzgün çalışması, ana karta sonradan seri port taktığımız bilgisayarlarda problem çıkarması. (Nadiren 1-2 bilgisayarda problemsiz çalıştı). Ama problem gelen bilginin okunması veya componentle ilgili işlemler sırasında değil de bilgiyi aldıktan ve işlemler bittikten sonra formu kapatırken tüm programı kilitlemesi. Formu açıyorum bilgileri dolduruyorum, seri porttan K.G. bilgisini alıyorum. işlemi kaydederek formu kapattığımda program kilitleniyor ve yanıt vermiyor durumuna düşüyor. Böyle bir durumla karşılaşan oldu mu? Neden kilitleniyor olabilir?
İyi çalışmalar
Com Port Bağlantısı
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Com Port Bağlantısı
Merhaba,
Verdiğiniz linki incelediğimde kullandığınız component için 2011 yılından sonra güncelleme yapılmamış. Ayrıca direk verdiğiniz link ile gelen sayfada size önermeyi düşündüğüm en son 2 sene önce güncelleme almış TurboPack AyncPro componentı bağlantı linki verilerek üstü kapalı tavsiye edilmiş.
Mümkünse küçük bir uygulama geliştirerek test edebilirsiniz. Test uygulaması mümkün değil ise eğer ve çok ciddi derecede uğraştırmayacak ise tavsiyem component değiştirmeniz yönünde. Ana mantıkları özünde aynı oluyor.
Sorunuza gelirsek,
-Sorun component kaynaklı olabilir.
-İşletim sistemi kaynaklı olabilir.
-Hep aynı seri port kartını kullanıyor iseniz bu kart kaynaklı da olabilir.
Kısacası olasılıklar maalesef gerçekten fazla.
Verdiğiniz linki incelediğimde kullandığınız component için 2011 yılından sonra güncelleme yapılmamış. Ayrıca direk verdiğiniz link ile gelen sayfada size önermeyi düşündüğüm en son 2 sene önce güncelleme almış TurboPack AyncPro componentı bağlantı linki verilerek üstü kapalı tavsiye edilmiş.
Mümkünse küçük bir uygulama geliştirerek test edebilirsiniz. Test uygulaması mümkün değil ise eğer ve çok ciddi derecede uğraştırmayacak ise tavsiyem component değiştirmeniz yönünde. Ana mantıkları özünde aynı oluyor.
Sorunuza gelirsek,
-Sorun component kaynaklı olabilir.
-İşletim sistemi kaynaklı olabilir.
-Hep aynı seri port kartını kullanıyor iseniz bu kart kaynaklı da olabilir.
Kısacası olasılıklar maalesef gerçekten fazla.
- adelphiforumz
- Üye
- Mesajlar: 602
- Kayıt: 01 Nis 2008 05:38
- Konum: İstanbul
Re: Com Port Bağlantısı
Formu kapatmadan önce portun kapandığından emin olun.
buna benzer bir sorunu eskiden bazı componentler yapıyordu.
port açıkken form kapanırsa windows tarafı saçmalıyordu.
buna benzer bir sorunu eskiden bazı componentler yapıyordu.
port açıkken form kapanırsa windows tarafı saçmalıyordu.
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Re: Com Port Bağlantısı
Öncelikle o bileşen sıkıntılı. USB-Seri portların kimini görüyor kimini görmüyor. Saçma sapan bir bileşen. Ben http://synapse.ararat.cz/doku.php/download kullanıyorum. Kullanımı basit. ve harika bir bileşen seri portla çok işim olduğu için şiddetle öneririm.
....
Re: Com Port Bağlantısı
Merhabalar,
Mainboard üzerinde entegre gelmeyen RS-232C portlar ilgili üretici firma tarafından geliştirilen 3.parti driver lar ile kullanılmaktadır. Bu 3.parti yazılımların doğru çalışmaması da bu tarz problemlere neden olabiliyor. Component olarak TpaPro kullanıyorum. Bu tarz problemleri bende yaşadım. Şu an Digitisus marka (Alman Markası) USB-Seri Çeviricileri sağlıklı bir şekilde kullanıyorum.
Mainboard üzerinde entegre gelmeyen RS-232C portlar ilgili üretici firma tarafından geliştirilen 3.parti driver lar ile kullanılmaktadır. Bu 3.parti yazılımların doğru çalışmaması da bu tarz problemlere neden olabiliyor. Component olarak TpaPro kullanıyorum. Bu tarz problemleri bende yaşadım. Şu an Digitisus marka (Alman Markası) USB-Seri Çeviricileri sağlıklı bir şekilde kullanıyorum.
Re: Com Port Bağlantısı
Cevaplar için teşekkürler
http://synapse.ararat.cz/doku.php/download adresindekini deneyelim bakalım.
http://synapse.ararat.cz/doku.php/download adresindekini deneyelim bakalım.
Re: Com Port Bağlantısı
Merhaba, Synaser kütüphanesi ile kulalndığım port açma, listeleme, ve bağlantısını burda görebilirsiniz.
Kod: Tümünü seç
uses
synaser;
var
benimport: TBlockSerial ;
//--------------------------------------------------------------------------------
// Port Kapatma
Function TForm1.portkapat: Boolean;
begin
benimport.Purge;
benimport.free;
Memo1.Lines.Add(' ');
Memo1.Lines.Add('Port Kapatıldı !!');
end;
//--------------------------------------------------------------------------------
// Port Açma
Function TForm1.portac(PortNum : string ; Baudrate: integer): Boolean;
begin
Result := false;
benimport := TBlockSerial.Create;
benimport.RaiseExcept := false;
benimport.Connect(PortNum);
if benimport.InstanceActive then
begin
Memo1.Lines.Add('Port [' + PortNum + '@' + intTostr(Baudrate) + '] : Açıldı' );
benimport.config(Baudrate, 8, 'N', 0, false, true);
Result := true;
end
else
begin
Memo1.Lines.Add('Hata: Com Noktasını Kontrol Edin...' );
benimport.free;
end;
end;
//--------------------------------------------------------------------------------
// Aktif Portları Listele
procedure TForm1.Button1Click(Sender: TObject);
var
Reg : TRegistry;
Values : TStringList;
I : Integer;
Str : string;
begin
Memo1.Clear;
Reg:=TRegistry.Create;
try
Values:=TStringList.Create;
try
Reg.RootKey:=HKEY_LOCAL_MACHINE; // Registry'deki root
if not Reg.OpenKey('HARDWARE\DEVICEMAP\SERIALCOMM',False) then
ShowMessage('Hata : Registry değeri tanınmadı veya açılmadı'')
else
begin
Reg.GetValueNames(Values);
for I:= 0 to Values.Count-1 do
begin
Str:=Reg.ReadString(Values.Strings[I]);
ComboBox1.Items.Add(Str);
end;
end;
finally
Values.free;
end;
finally
Reg.Free;
end;
end;
//--------------------------------------------------------------------------------
// String Veya buffer yollama
if OpenSerialPort(ComboBox1.text,115200) = true then
begin
Memo1.Lines.Add('Seçilen Port : '+ComboBox1.Text);
benimport .DeadlockTimeout := 15000;
benimport .SendBuffer(@veri);
veya
benimport.sendstring('AT');
end;
portkapat;
end;
//--------------------------------------------------------------------------------