<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=66&amp;t=19501&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-12-30T17:49:41+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=66&amp;t=19501&amp;mode</id>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2017-12-30T17:49:41+01:00</updated>
<published>2017-12-30T17:49:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201300#p201300</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201300#p201300"/>
<title type="html"><![CDATA[Re: MkUsbDetektor  i obsługa błędu połączenia portu com]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201300#p201300"><![CDATA[
Btw czasami male L (jak lejek) i duze I (jak Irena) wygladaja tak samo <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 30 gru 2017, o 17:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-12-29T01:55:13+01:00</updated>
<published>2017-12-29T01:55:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201206#p201206</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201206#p201206"/>
<title type="html"><![CDATA[Re: MkUsbDetektor  i obsługa błędu połączenia portu com]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201206#p201206"><![CDATA[
sprawdź kod ASCII tego znaku .. powinny być cyfry liczby zdaje się a nie jakieś pałki w serialu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 gru 2017, o 01:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2017-12-28T22:52:27+01:00</updated>
<published>2017-12-28T22:52:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201200#p201200</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201200#p201200"/>
<title type="html"><![CDATA[Re: MkUsbDetektor  i obsługa błędu połączenia portu com]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201200#p201200"><![CDATA[
Co mogę robić jeszcze innego niby źle ... jak wszystko co tyczy się COM masz wyżej ? Pisałem przecież wyżej że jak wybiorę COM35 tutaj to łączy z nim dobrze<br /><br /><a href="https://obrazkiforum.atnel.pl/976/e8c0227e43bb60463f0aa4e622729139.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/976/e8c0227e43bb60463f0aa4e622729139.png" alt="Obrazek" /></a><br /><br />Jak to pole jest puste to po podłączeniu COM35 on się podłącza pod COM1. Mimo że w cominfo.ComPort jest dobrze COM35<br /><br />Pomogło dopisanie cPort1.Port := cominfo.ComPort; <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> teraz to ma sens<br /><br />PS. Jakieś postępy z tym nowym komponentem ? Bo pomijając te rzeczy wyżej to dalej jest problem z &quot;traceniem danych&quot; tzn. po jakimś czasie różnie to jest czasem wykłada się na pierwszych stringach a czasem działa dobrze kilka minut ... Tzn traci się odbiór jakby przestawało/zawieszało się parsowanie. I to jest ciekawe że z aplikacji komunikacja dalej działa i dane do urządzenia są wysyłane poprawnie ale w drugą stronę kaplica.<br /><br />No i ten efekt tzw. uciętego kabla czyli po prostu odłączonego nie zawsze rozłącza COM. I tutaj ciekawa rzecz:<br /><br />[syntax=delphi]procedure TForm1.MkUsbDetector1UsbDetect(Sender: TObject; UsbName, vid,<br />  pid: string; inout: Integer);<br />begin<br />  if inout = 0 then begin<br />    if UsbName = cominfo.ComID then begin<br />      StopCom;<br />      StatusBar1.Panels&#91;0&#93;.Text := 'COM?';<br />    end;<br />    StatusBar1.Panels&#91;1&#93;.Text := UsbName + ' ' + cominfo.ComID;<br />  end;<br />end;[/syntax]<br /><br />I efekt na Statusbarze1 mam taki:<br /><br /><a href="https://obrazkiforum.atnel.pl/976/8504f630d650f6854155bc642f980dbd.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/976/8504f630d650f6854155bc642f980dbd.png" alt="Obrazek" /></a><br /><br />Według programu FT_Prog Serial jest taki A91<strong>I</strong>FT5T a zapisało go w cominfo.ComID jako A91<strong>L</strong>FT5T<br /><br />Dziwna podmiana i teraz niema co się dziwić że nie rozłącza :/ O co w tym biega ? Bo raz wpisuje do cominfo.ComID przy wykryciu A91<strong>I</strong>FT5T a raz A91<strong>L</strong>FT5T a ciągle podłączam przecież to samo urządzenie!<br /><br />Zmieniłem ten Serial na taki A91<strong>5</strong>FT5T i teraz jest okej ... no ale to nie powinno tak być że on sobie raz wykrywa jako ten z &quot;L&quot; a raz jako ten poprawny z &quot;I&quot;. Jakiś babol musi być w MkUsbDetector moim zdaniem ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 28 gru 2017, o 22:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-12-28T22:03:19+01:00</updated>
<published>2017-12-28T22:03:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201196#p201196</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201196#p201196"/>
<title type="html"><![CDATA[Re: MkUsbDetektor  i obsługa błędu połączenia portu com]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201196#p201196"><![CDATA[
przecież ja pokazywałem zdaje się w poradniku wideło jak to robić czy nie - bo teraz myślami jestem daleko od tego ... a się zastanawiam co ty w ogóle robisz że ci wciąż na COM1 się łączy ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />poza tym wyjdź z odpalaniem kodu wprost ze zdarzeń MkUsbDetectora - zrób to na początek ręcznie i sprawdź bo ja już nie rozumiem - po co walczyć z MkUsbDetectorem skoro ci ciągle na com1 się łączy<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 28 gru 2017, o 22:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2017-12-28T20:08:47+01:00</updated>
<published>2017-12-28T20:08:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201187#p201187</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201187#p201187"/>
<title type="html"><![CDATA[Re: MkUsbDetektor  i obsługa błędu połączenia portu com]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201187#p201187"><![CDATA[
Wywaliłem to co zbędne ale dalej się łączy z COM1 :/ <br /><br />[syntax=delphi]procedure TForm1.CheckCurrentComID;<br />var<br />  i, len: Integer;<br />  id, prt: String;<br /><br />begin<br />  len := MkUsbDetector1.GetAvailableComPortsEx;<br />  for i := 0 to len-1 do begin<br />    prt := MkUsbDetector1.MkComInfo&#91;i&#93;.sPort;<br />    id := MkUsbDetector1.MkComInfo&#91;i&#93;.Serial;<br /><br />    if AnsiStartsStr(ComSerial_Start,id) then<br />    begin<br />      cominfo.ComPort := prt;<br />      cominfo.ComID := id;<br /><br />      StopCom;<br />      StartComPort;<br />      StatusBar1.Panels&#91;3&#93;.Text := cominfo.ComID + '  ' + cominfo.ComPort;<br />      CheckNameModule;<br />      Break;<br />    end;<br />  end;<br />end;<br /><br />procedure TForm1.MkUsbDetector1NewComInfo(Sender: TObject;<br />  MkComInfo: array of TMkComInfo; count: Integer);<br />var<br />i, len: Integer;<br /><br />begin<br />    if count &gt; 0 then begin<br />      //<br />      if AnsiStartsStr(ComSerial_Start,MkComInfo&#91;0&#93;.Serial) then<br />      begin<br />       <br />        cominfo.ComPort := MkComInfo&#91;0&#93;.sPort;<br />        cominfo.ComID := MkComInfo&#91;0&#93;.Serial;<br /><br />        StatusBar1.Panels&#91;3&#93;.Text := cominfo.ComID + '  ' + cominfo.ComPort;<br />        StopCom;<br />        StartComPort;<br />        CheckNameModule;<br />       end;<br />    end;<br />end;<br /><br /><br /><br />procedure TForm1.MkUsbDetector1UsbDetect(Sender: TObject; UsbName, vid,<br />  pid: string; inout: Integer);<br />begin<br />  if inout = 0 then begin<br />    if UsbName = cominfo.ComID then begin<br />      StopCom;<br />      StatusBar1.Panels&#91;0&#93;.Text := 'COM?';<br />    end;<br />    StatusBar1.Panels&#91;1&#93;.Text := UsbName;<br />  end;<br />end;<br /><br /><br /><br />procedure TForm1.StopCom;<br />begin<br />  cPort1.Connected := False;<br />  cPort1.Close;<br />end;<br /><br /><br />procedure TForm1.StartComPort;<br />begin<br />  cPort1.Open;<br />  cPort1.Connected := True;<br />  StatusBar1.Panels&#91;0&#93;.Text := cPort1.Port;<br />end;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 28 gru 2017, o 20:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-12-28T19:29:00+01:00</updated>
<published>2017-12-28T19:29:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201179#p201179</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201179#p201179"/>
<title type="html"><![CDATA[Re: MkUsbDetektor  i obsługa błędu połączenia portu com]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201179#p201179"><![CDATA[
<div class="quotetitle">faber33 napisał(a):</div><div class="quotecontent"><br />ale nic to nie zmieniło bo po podłaczeniu urządzenia i tak łączy się z COM1 :/<br /></div><br />ale nie pisz tak - że nic to nie zmieniło - bo robisz gdzieś okrutnego babola <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />jednak na początek - daj sobie spokój z tym:<div class="quotetitle">faber33 napisał(a):</div><div class="quotecontent"><br />i teraz potrzebuje żeby apka jeśli &quot;zobaczy&quot; podłączony układ, który ma takie ustawienia:<br /><br />ComPID_def := 'PID_6001';<br />ComVID_def := 'VID_0403';<br />ComManufacturer_def := 'FTDI';<br />ComSerial_Start := 'A9';<br /><br />Połączyła się z tym urządzeniem.<br /></div><br /><br />i zostaw sam ComSerial <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> po co ci badanie tych wszystkich dziwactw vid, pid itp itd - jeden serial wystarczy to po pierwsze<br />a po drugie <br /><br />przed połączeniem NAJPIERW ROZŁĄCZ się poprawnie bo inaczej NIGDY się poprawnie nie podłączysz<br /><br />pamiętaj też że proces rozłączania może być procesem asynchronicznym o ile wiesz co to w tym wypadku znaczy<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 28 gru 2017, o 19:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2017-12-28T19:23:14+01:00</updated>
<published>2017-12-28T19:23:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201178#p201178</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201178#p201178"/>
<title type="html"><![CDATA[Re: MkUsbDetektor  i obsługa błędu połączenia portu com]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201178#p201178"><![CDATA[
Ok to prościej <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />Założenie jest takie:<br /><br />Podłączam swoje urządzenie(FT232, który ma swoje PID, VID, Manufacturer i Serial) i teraz potrzebuje żeby apka jeśli &quot;zobaczy&quot; podłączony układ, który ma takie ustawienia:<br /><br />    ComPID_def := 'PID_6001';<br />    ComVID_def := 'VID_0403';<br />    ComManufacturer_def := 'FTDI';<br />    ComSerial_Start := 'A9';<br /><br />Połączyła się z tym urządzeniem.<br /><br />Ogólnie rzecz biorąc to chciałbym uzyskać coś takiego jak w mkAVRCalculator czyli żeby apka wiedziała że to jest &quot;moje urządzenie&quot; i tylko z nim się łączyła <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />PS. Rzeczywiście z tym Startowaniem popłynąłem <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> ale nic to nie zmieniło bo po podłaczeniu urządzenia i tak łączy się z COM1(jeśli pole &quot;Port&quot; w cPort1 jest puste) :/<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 28 gru 2017, o 19:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-12-28T19:14:20+01:00</updated>
<published>2017-12-28T19:14:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201176#p201176</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201176#p201176"/>
<title type="html"><![CDATA[Re: MkUsbDetektor  i obsługa błędu połączenia portu com]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201176#p201176"><![CDATA[
Chciałbym pomóc  ale sorki - kompletnie nie rozumiem twojego problemu <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br /><div class="quotetitle">faber33 napisał(a):</div><div class="quotecontent"><br />Włączam apkę i boom MkUsbbDetector wykrywa i łączy się z portem COM35<br /></div><br />kto się łączy ? MkUsbDetector ? a co on ma wspólnego z łączeniem ?<br /><br />Dla mnie to troszkę namieszałeś z podejściem do wyboru portów COM ... po co ta cała zabawa w CheckCurrentComID; ? Co to ma na celu ?<br /><br />Ja proponuję może opisz jaki jest twój cel ? co chcesz osiągnąć ? zakładam, że musisz mieć możliwość dostępu do jednej z przejściówek do którejś konkretnej - ok - tylko jak można najpierw startować jakieś połączenie a dopiero później próbować przypisać nowy port<br /><br />      StartComPort;<br />      cominfo.ComPort := prt;<br />      cominfo.ComID := id;<br /><br />albo czegoś mocno nie rozumiem ....<br /><br />jak mówię uprość pytanie, sprowadź do prostego problemu a nie tak - bo ciężko pomóc<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 28 gru 2017, o 19:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2017-12-28T19:00:23+01:00</updated>
<published>2017-12-28T19:00:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201175#p201175</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201175#p201175"/>
<title type="html"><![CDATA[Re: MkUsbDetektor  i obsługa błędu połączenia portu com]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=201175#p201175"><![CDATA[
Ja też zauważyłem podobny problem jak kolega driver0207 (Comport+ComDataPacket+MkUsbbDetector) że port nie zawsze się zamyka port po odłączeniu kabla (właśnie w moim przypadku dane w tym czasie są odbierane przez COM) :/ Także liczymy na pana Panie Mirku i czekamy z niecierpliwością na ten nowy fajniuśki komponent <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Edit:<br />Dzisiaj wyszła kolejna &quot;ciekawa przypadłość&quot;. Na początek dodam że MkUsbbDetector w najnowszej wersji tj. 1.6. Sytuacja wygląda tak: Mam jedno urządzenia z FT232 wykrywane pod COM35, z problemami (jak wyżej), ale go wykrywa apka w Delphi. Dzisiaj złożyłem drugi takie samo urządzenie i podłączam do kompa tylko to nowe i wykrywa je jako COM43 (tak jest w Menadrzeże urządzeń i przez Putty na tym porcie jest komunikacja jak należy). Włączam apkę i boom MkUsbbDetector wykrywa i łączy się z portem COM35 czyli ten od &quot;starego urządzenia&quot; chociaż fizycznie go NIEMA! jest tylko ten nowym COM43. Dodam że nie zapamiętuje niczego w plikach INI.<br /><br />Kawałek kodu:<br />[syntax=delphi]procedure TForm1.WmAPPStartup(var Mag: TMessage);<br />begin<br />    //informacje do sprwadzenia czy podłączono naszą płytkę do USB<br />    ComPID_def := 'PID_6001';<br />    ComVID_def := 'VID_0403';<br />    ComManufacturer_def := 'FTDI';<br />    ComSerial_Start := 'A9';<br /><br />    StatusBar1.Panels&#91;0&#93;.Text := 'COM?';<br /><br />    CheckCurrentComID;<br />    CheckNameModule;<br />end;<br /><br /><br />procedure TForm1.CheckCurrentComID;<br />var<br />  i, len: Integer;<br />  id, prt, pid, vid, manufacturer: String;<br /><br />begin<br />  len := MkUsbDetector1.GetAvailableComPortsEx;<br />  for i := 0 to len-1 do begin<br />    prt := MkUsbDetector1.MkComInfo&#91;i&#93;.sPort;<br />    id := MkUsbDetector1.MkComInfo&#91;i&#93;.Serial;<br />    pid := MkUsbDetector1.MkComInfo&#91;i&#93;.PID;<br />    vid := MkUsbDetector1.MkComInfo&#91;i&#93;.VID;<br />    manufacturer := MkUsbDetector1.MkComInfo&#91;i&#93;.Manufacturer;<br /><br />    if ( pid = ComPID_def) AND (vid = ComVID_def ) AND (manufacturer = ComManufacturer_def) AND (AnsiStartsStr(ComSerial_Start,id)) then<br />    begin<br />      StartComPort;<br />      cominfo.ComPort := prt;<br />      cominfo.ComID := id;<br />      Break;<br />    end;<br />  end;<br />end;<br /><br />//prodecura wysyłają do podłączonej płytki zapytanie, która to werja(1,2 czy 4 czujniki)<br />procedure TForm1.CheckNameModule;<br />begin<br />   try<br />    cPort1.WriteStr('wyslij' + #13);<br />   except<br />    StopCom;<br />   end;<br />end;<br /><br /><br /><br />procedure TForm1.MkUsbDetector1NewComInfo(Sender: TObject;<br />  MkComInfo: array of TMkComInfo; count: Integer);<br />var<br />i, len: Integer;<br /><br />begin<br />    if count &gt; 0 then begin<br />      if ( MkComInfo&#91;0&#93;.PID = ComPID_def) AND (MkComInfo&#91;0&#93;.VID = ComVID_def) AND (MkComInfo&#91;0&#93;.Manufacturer = ComManufacturer_def) AND AnsiStartsStr(ComSerial_Start,MkComInfo&#91;0&#93;.Serial) then<br />      begin<br />        cominfo.ComPort := MkComInfo&#91;0&#93;.sPort;<br />        cominfo.ComID := MkComInfo&#91;0&#93;.Serial;<br /><br />        StartComPort;<br />        CheckNameModule;<br />      end;<br />    end;<br />end;[/syntax]<br /><br /><br />PS. teraz dopatrzyłem że miałem wpisany COM35 do cPortu, ale to tak teraz wychodzi że on sobie otwiera ten port zamiast otwierać ten który tego if sprawdzającego pid itd. :/<br /><br /><a href="https://obrazkiforum.atnel.pl/976/6039f83e6d14f37a20ff9284c72fd4a3.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/976/6039f83e6d14f37a20ff9284c72fd4a3.png" alt="Obrazek" /></a><br /><br />Nawet jak zostawię to pole Port puste to łączy się z pierwszym portem czyli COM1 :/. Jak się może z nim łączyć skoro nie spełniony jest warunek z if'a więc nie wywołuje procedury  StartComPort; ???<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 28 gru 2017, o 19:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[driver0207]]></name></author>
<updated>2017-10-31T16:55:21+01:00</updated>
<published>2017-10-31T16:55:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=198111#p198111</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=198111#p198111"/>
<title type="html"><![CDATA[Re: MkUsbDetektor  i obsługa błędu połączenia portu com]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=198111#p198111"><![CDATA[
Witam.<br />Dane nie są wysyłane .<br /><br />a czy odbierane hmm tego nie wiem . Mam położony komponent ComTerminal może on coś nasłuchuje .<br /><br />-- 4 minutach --<br /><br />Fajnie!! Na pewno komponent zakupie . Delfi narazie ma wiele plusów . Co do b4j się trochę sparzyłem. Przez to ze napisać jakiś program by działał na win xp graniczy z cudem .<br />A tu proszę wrzucam i działa.  Fajne są te komponenty takie gotowe jak to okno terminala czy to ze można  dodawać nowe komponenty . Super wręcz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2199">driver0207</a> — 31 paź 2017, o 16:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-10-31T16:39:49+01:00</updated>
<published>2017-10-31T16:39:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=198110#p198110</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=198110#p198110"/>
<title type="html"><![CDATA[Re: MkUsbDetektor  i obsługa błędu połączenia portu com]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=198110#p198110"><![CDATA[
a czy w trakcie rozłączania masz wysyłanie jakichś danych przez COM ? bo jeśli tak to może być właśnie taki problem albo gdy są odbierane<br /><br />poza tym mówiłem w poradniku, że to nie jest i tak eleganckie rozwiązanie i być może - zdarzy się, że kiedyś nie zadziała<br /><br />Ja mogę tylko podpowiedzieć, że jestem w trakcie pisania komponentu do komunikacji przez port COM - który będzie działać w 100% normalnie i nie będzie potrzeba takich kocich tricków robić ...  jak się przetnie siekierą kabel albo rozłączy FIFI albo Bluetooth to najnormalniej w świecie port się sam rozłączy właściwie a nawet będzie wbudowany mechanizm <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> żeby mógł się automatycznie sam włączyć gdy awaria minie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... no ale to jeszcze trzeba troszkę poczekać<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 31 paź 2017, o 16:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[driver0207]]></name></author>
<updated>2017-10-31T16:15:56+01:00</updated>
<published>2017-10-31T16:15:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=198107#p198107</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=198107#p198107"/>
<title type="html"><![CDATA[MkUsbDetektor  i obsługa błędu połączenia portu com]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19501&amp;p=198107#p198107"><![CDATA[
Witam mam mały problem  napisałem sobie terminal rs232 w delphi  i zgodnie z poradnikiem 004j chciałem sobie zrobić by nie pokazywał mi się błąd przy odłączeniu przejściówki rs232.<br />Błąd mam dalej.<br /><br /><br />W zdarzeniu oncomdetect mam<br /><br />[syntax=delphi]if inout = 0 then begin<br />    Memo1.Text := IntToStr(inout);<br /><br /><br />    ComPort1.Close;<br /><br /><br />    end;[/syntax]<br /><br />Wyglada jak by za wolno zamykał się port com .<br /><br />cały program wygląda tak :<br />[syntax=delphi]unit TERMINAL;<br /><br />interface<br /><br />uses<br />  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,<br />  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,<br />   Vcl.ExtCtrls, CPort, CPortCtl, mk_usb_detector ;<br /><br />type<br />  TForm1 = class(TForm)<br /><br />    Panel1: TPanel;<br />    Edit2: TEdit;<br />    Button3: TButton;<br />    Button4: TButton;<br />    Panel2: TPanel;<br />    Label1: TLabel;<br />    Label2: TLabel;<br />    Label3: TLabel;<br />    Label4: TLabel;<br />    Label5: TLabel;<br />    Button1: TButton;<br />    Button2: TButton;<br />    ComboBox1: TComboBox;<br />    ComboBox2: TComboBox;<br />    ComboBox3: TComboBox;<br />    ComboBox4: TComboBox;<br />    ComboBox5: TComboBox;<br />    CheckBox1: TCheckBox;<br />    CheckBox2: TCheckBox;<br />    CheckBox3: TCheckBox;<br />    ComPort1: TComPort;<br />    MkUsbDetector1: TMkUsbDetector;<br />    ComTerminal1: TComTerminal;<br />    Memo1: TMemo;<br /><br /><br /><br /><br />    procedure Button1Click(Sender: TObject);<br />    procedure Button2Click(Sender: TObject);<br />    procedure FormCreate(Sender: TObject);<br />    procedure Button4Click(Sender: TObject);<br />    procedure ComboBox1DropDown(Sender: TObject);<br />    procedure ComboBox1Change(Sender: TObject);<br />    procedure Button3Click(Sender: TObject);<br />    procedure CheckBox1Click(Sender: TObject);<br />    procedure CheckBox2Click(Sender: TObject);<br />    procedure CheckBox3Click(Sender: TObject);<br />    procedure MkUsbDetector1ComDetect(Sender: TObject; ComPort: string;<br />      inout: Integer);<br />    procedure ComPort1Error(Sender: TObject; Errors: TComErrors);<br />    procedure ComPort1Break(Sender: TObject);<br /><br /><br /><br />  private<br />    { Private declarations }<br />  public<br />    { Public declarations }<br />  end;<br /><br />var<br />  Form1: TForm1;<br /><br />implementation<br /><br /><br /><br /><br />{$R *.dfm}<br /><br /><br /><br /><br />procedure TForm1.Button1Click(Sender: TObject);<br />begin<br />    Button1.Enabled := False;<br />    Button2.Enabled := True;<br />    Button4.Enabled := True;<br />    ComboBox1.Enabled := False;<br />    ComboBox2.Enabled := False;<br />    ComboBox3.Enabled := False;<br />    ComboBox4.Enabled := False;<br />    ComboBox5.Enabled := False;<br /><br />    if ComboBox2.ItemIndex = 0 then ComPort1.BaudRate := br1200;<br />    if ComboBox2.ItemIndex = 1 then ComPort1.BaudRate := br2400;<br />    if ComboBox2.ItemIndex = 2 then ComPort1.BaudRate := br4800;<br />    if ComboBox2.ItemIndex = 3 then ComPort1.BaudRate := br9600;<br />    if ComboBox2.ItemIndex = 4 then ComPort1.BaudRate := br14400;<br />    if ComboBox2.ItemIndex = 5 then ComPort1.BaudRate := br19200;<br />    if ComboBox2.ItemIndex = 6 then ComPort1.BaudRate := br38400;<br />    if ComboBox2.ItemIndex = 7 then ComPort1.BaudRate := br57600;<br />    if ComboBox2.ItemIndex = 8 then ComPort1.BaudRate := br115200;<br />    if ComboBox2.ItemIndex = 9 then ComPort1.BaudRate := br256000;<br /><br /><br />    if ComboBox3.ItemIndex = 0 then ComPort1.DataBits := dbEight;<br />    if ComboBox3.ItemIndex = 1 then ComPort1.DataBits := dbSeven;<br />    if ComboBox3.ItemIndex = 2 then ComPort1.DataBits := dbSix;<br />    if ComboBox3.ItemIndex = 3 then ComPort1.DataBits := dbFive;<br /><br />    if ComboBox4.ItemIndex = 0 then ComPort1.StopBits := sbOneStopBit;<br />    if ComboBox4.ItemIndex = 1 then ComPort1.StopBits := sbTwoStopBits;<br /><br />    if ComboBox5.ItemIndex = 0 then ComPort1.Parity.Bits := prNone ;<br />    if ComboBox5.ItemIndex = 1 then ComPort1.Parity.Bits := prEven ;<br />    if ComboBox5.ItemIndex = 2 then ComPort1.Parity.Bits := prMark ;<br />    if ComboBox5.ItemIndex = 3 then ComPort1.Parity.Bits := prOdd ;<br />    if ComboBox5.ItemIndex = 4 then ComPort1.Parity.Bits := prSpace;<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />    ComPort1.Open;<br />    ComPort1.Connected := true;<br />end;<br /><br /><br /><br />procedure TForm1.Button2Click(Sender: TObject);<br />begin<br />    Button1.Enabled := True;<br />    Button2.Enabled := False;<br />    Button4.Enabled := False;<br />    ComboBox1.Enabled := True;<br />    ComboBox2.Enabled := True;<br />    ComboBox3.Enabled := True;<br />    ComboBox4.Enabled := True;<br />    ComboBox5.Enabled := True;<br /><br />    ComPort1.Close;<br />    ComPort1.Connected := false;<br />end;<br /><br />procedure TForm1.Button3Click(Sender: TObject);<br />begin<br />       ComTerminal1.ClearScreen;<br />end;<br /><br />procedure TForm1.Button4Click(Sender: TObject);<br />begin<br />      {cport.PutString(Edit2.Text);}<br /><br /><br />        if CheckBox1.Checked = false or CheckBox2.Checked = false or CheckBox3.Checked = false then begin<br />          ComPort1.WriteStr(Edit2.Text );<br />        end;<br /><br />        if CheckBox1.Checked = true then begin<br />        ComPort1.WriteStr(Edit2.Text + #13 );<br /><br />        end;<br /><br />        if CheckBox2.Checked = true then begin<br />        ComPort1.WriteStr(Edit2.Text + #10 );<br /><br />        end;<br /><br />        if CheckBox3.Checked = true then begin<br />        ComPort1.WriteStr(Edit2.Text + #13 +#10 );<br /><br />        end;<br /><br /><br />end;<br /><br />procedure TForm1.CheckBox1Click(Sender: TObject);<br />begin<br />  CheckBox2.Checked := false;<br />  CheckBox3.Checked := false;<br />end;<br /><br />procedure TForm1.CheckBox2Click(Sender: TObject);<br />begin<br />    CheckBox1.Checked := false;<br />    CheckBox3.Checked := false;<br />end;<br /><br />procedure TForm1.CheckBox3Click(Sender: TObject);<br />begin<br />    CheckBox1.Checked := false;<br />    CheckBox2.Checked := false;<br />end;<br /><br />procedure TForm1.ComboBox1Change(Sender: TObject);<br />begin<br />      ComPort1.Port:= ComboBox1.Items&#91;ComboBox1.ItemIndex&#93;;<br />end;<br /><br />procedure TForm1.ComboBox1DropDown(Sender: TObject);<br />begin<br />  MkUsbDetector1.GetAvailableComPorts(ComboBox1.Items, false);<br />end;<br /><br />procedure TForm1.ComPort1Break(Sender: TObject);<br />begin<br />    ComPort1.Close;<br />end;<br /><br />procedure TForm1.ComPort1Error(Sender: TObject; Errors: TComErrors);<br />begin<br /> ComPort1.Close;<br />end;<br /><br />procedure TForm1.FormCreate(Sender: TObject);<br />begin<br />    ComboBox2.AddItem('1200',nil);<br />    ComboBox2.AddItem('2400',nil);<br />    ComboBox2.AddItem('4800',nil);<br />    ComboBox2.AddItem('9600',nil);<br />    ComboBox2.AddItem('14400',nil);<br />    ComboBox2.AddItem('19200',nil);<br />    ComboBox2.AddItem('38400',nil);<br />    ComboBox2.AddItem('57600',nil);<br />    ComboBox2.AddItem('115200',nil);<br />    ComboBox2.AddItem('256000',nil);<br /><br />    ComboBox3.AddItem('8',nil);<br />    ComboBox3.AddItem('7',nil);<br />    ComboBox3.AddItem('6',nil);<br />    ComboBox3.AddItem('5',nil);<br /><br />    ComboBox4.AddItem('1',nil);<br />    ComboBox4.AddItem('2',nil);<br /><br />    ComboBox5.AddItem('NONE',nil);<br />    ComboBox5.AddItem('EVEN',nil);<br />    ComboBox5.AddItem('MARK',nil);<br />    ComboBox5.AddItem('ODD',nil);<br />    ComboBox5.AddItem('SPACE',nil);<br /><br />    ComboBox2.ItemIndex := 3;<br />    ComboBox3.ItemIndex := 0;<br />    ComboBox4.ItemIndex := 0;<br />    ComboBox5.ItemIndex := 0;<br /><br /><br /><br />end;<br /><br />procedure TForm1.MkUsbDetector1ComDetect(Sender: TObject; ComPort: string;<br />  inout: Integer);<br />begin<br />    if inout = 0 then begin<br />    Memo1.Text := IntToStr(inout);<br /><br /><br />    ComPort1.Close;<br /><br /><br />    end;<br /><br />end;<br /><br />en[/syntax]<br />  Z góry dzięki za pomoc.<br /><br /><br />a oto błędy <br /><a href="https://obrazkiforum.atnel.pl/2199/b1d6c84c64bc80753867eb5bd48be5e6.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/2199/b1d6c84c64bc80753867eb5bd48be5e6.jpg" alt="Obrazek" /></a><br /><br /><br /><a href="https://obrazkiforum.atnel.pl/2199/892bd8e6003134bb34673edf1dc5f041.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/2199/892bd8e6003134bb34673edf1dc5f041.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2199">driver0207</a> — 31 paź 2017, o 16:15</p><hr />
]]></content>
</entry>
</feed>