Q&A

  • CPort콤포넌트에 관한 질문입니다.
안냐세요..^^
질문을 올렸었는데..장명선님이 답변을 해주셨는데 그렇게 해도 안되서 다시 질문올립니다.


환경 : Delphi6.0  CPort263  버전을 씁니다.

안녕하세요.
궁금한부분은여
데이타가 날라오면 잘받앗다는 응답메세지를 보내면 다음 데이타가 날라옵니다.
그런데 응답메세지로 날리는 메세지가 #OK. 이거든요.
ComPort.WriteStr('#OK.'); 하면 데이타가 제대로 접수되지않네요..
그런데요
따로따로 한글자씩 턴을 둬서 보내면 # 보내구 O 보내구 K 보내구 . 보내면 잘받앗다고 다음 메세지가 옵니다.
그래서 한함수네에서
ComPort.WriteStr('#');
ComPort.WriteStr('O');
ComPort.WriteStr('K');
ComPort.WriteStr('.');

이렇게 해도 제대로 전송이 안되여..^^;
왜그런지 설명좀해주세요...^^;
그러니깐. 한문자를 전송하고 턴을 둔다음에 다음 문자를 전송해야되구여...아주빠르게 다음문자를 전송하면 안되더라구여.
이것이 데이타를 받는 기계에 문제가 있는건가여? 아님 CPort 콤포넌트에서 설정을 해주는게 있는지... 아님 프로그램에서 처리해줘야하는게 잇는지 고수님들의 답변 부탁합니다.
그럼 즐코
2  COMMENTS
  • Profile
    김수경 2002.06.12 18:58
    받는 쪽 컴터의 통신 Buffer가 가득 찬 경우에
    자료를 보낼 경우 자료가 제대로 전송되지 않습니다(이런 경우 초기엔
    처리가 잘 되다가 시간이 지나면 제대로 전송 되지 않음).
    해결 방법은
      1. 받는 쪽 컴터에서 자료가 수신되는 Event가 발생되도록 처리 하여
       수신 Buffer가 Full되지 않도록 하세요.
      2. 받는 쪽 컴터의 수신 Buffer 크기를 크게 잡으세요.
      3. 보내는 쪽에서 자료가 모두 전송됐는지 검사하여 전송되지 않은
         자료의 나머지 부분을 보내세요.
    등이 있습니다. 그 중 1번 방법을 권장하고 싶네여~
    특히 3번 방법은 자료 보내기시 꼭 필요한 부분입니다.
    도움이 되셨기를....

  • Profile
    장명선 2002.06.12 18:53
    에공 에공 아직까지 안되셨나부네요
    어떤 기계인지는 모르지만 디기 까다롭네요

    혹 메뉴얼같은게 있으면 잘 읽어보세요 서로 주고 받는 Delay도 필요한지
    제가 했던것중에 서로 주고 받으면서 1초를 넘어가면 명령을 취소하는 경우도 있었거든요

    아 글구요 기계쪽 만든 사람보러 함 해보라구 하시는것두 좋을듯
    그게 더 빠를듯 ^^*

    아님 통신 컴포넌트를 다른걸 함 사용해 보시구여
    아~~~통신 환경이 정확한가두 함 체크  .....

    그럼 즐코


    • 최용일
      2002.06.13 00:27
      제가 말한 대로 아이콘 바꾸어 보셨나요? Project/Options...에서 Application탭에서 바꾸어 보세요. 25...
    • 이영주
      2002.06.13 00:50
      저... Application탭에서 색을 바꾸는 부분은 없는데.. 뭘 말씀 하시는지... 잘몰겠떠염.. 상세히점......
    • 최용일
      2002.06.13 01:47
      아이콘 칼라바꾸는 것은 다른 툴로 해야죠... 델파이 이미지에디터나 마이크로안젤로같은... 쩝 제 말은...
    • 이현철
      2002.06.16 00:09
      Ping 소스를 함수 형식으로 만들어 보세요. Function isPing(IpAddress:String):Boolean begin  ...
    • 성대현
    • 2002.06.12 21:40
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김은영
    • 2002.06.12 21:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      2002.06.13 03:21
      안녕하세요. 전 질문하고 데이터가 또 틀리네요. packed라해도 변환하는데는 아무런 문제가 없어요 va...
    • 이동현
    • 2002.06.12 21:25
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김지엽
      2002.06.12 22:43
      ALTER TABLE 테이블명 DROP 컬럼명
    • 염상철
      2002.06.19 19:46
      Group Band쓰시면..되는데..
    • 김광호
    • 2002.06.12 21:09
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 아폴론
    • 2002.06.12 20:56
    • 4 COMMENTS
    • /
    • 0 LIKES
    • KDDG_zzang
      2002.06.12 21:01
         if key = vk_Next then begin       key := word(#0);&nbs...
    • 아폴론
      2002.06.13 00:27
      procedure TFm102.Ne_gjmnKeyDown(Sender: TObject; var Key: Word;   Shift: TShiftStat...
    • KDDG_zzang
      2002.06.13 02:18
      죄송한데요. 질문이 잘 이해가 안 되요. ^^;; 원하시는 결과가 무엇인지를 다시 한번 자세하게 설명 부...
    • 아폴론
      2002.06.13 04:38
      procedure TFm102.Ne_gjmnKeyDown(Sender: TObject; var Key: Word;   Shift: TShiftState); ...
    • 김진철
    • 2002.06.12 20:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 곰다방~미스김
      2002.06.12 22:38
      휠마우스 드라이버를 해당제품 만든곳에서 업데이트 받으세요.... 그럼 됩니다...... -_-; 아니면.........
    • GanJang
    • 2002.06.12 20:23
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 프리맨
      2002.06.13 00:52
      델파이도 호출되지 않는 루틴은 실행파일에 포함시키지 않으므로써 실행파일 크기를 상당히 줄입니다....
    • GanJang
      2002.06.13 02:02
      넵.. 지금 제가 만든 간단한 알람 프로그램이 실행파일 사이즈가.. 500kb 를.. 넘어가고 있습니다. -_=;...
    • 프리맨
      2002.06.13 02:42
      소스를 보시면 VCL 객체가 전혀 사용되지 않았습니다. 객체를 사용하지 않았으니 객체안의 가상메소드...
    • GanJang
      2002.06.13 03:19
      에고.. 손수 파일 다운로드 받으셔서,, 소스까지 확인해 주시고.. 정말 감사 T.T;; 월드 컵.. ...
    • 이은호
    • 2002.06.12 19:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박상윤
      2002.06.18 07:05
      음 저는 DirectShow하는 방법 뿐이 몰라서..^^;; 우선 디바이스의 포인터를 얻은후 ... KSProperty얻고...
    • 이동현
    • 2002.06.12 19:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하기
      2002.06.18 02:34
      '[id] = '+QuotedStr(msg1)  AND '[password] ='+QuotedStr(msg2); 'Field명1 = ' + Value...
    • 윤도상
    • 2002.06.12 19:08
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 장명선
      2002.06.12 19:44
      Oracle Net setting을 먼저 하셔야 합니다. setting하면 서비스이름인가 하는것을 만들거든요.... 그것을...
    • 윤도상
      2002.06.12 20:38
      오라클은 폴더 또는 파일명에 ( 가 포함되어있으면 안됩니다. 혹 다른 문자도 안되는지는 모르겠네요., ...
    • 윤도상
      2002.06.12 20:33
      BDE에서는 데이터베이스 명에서 더블클릭해서 사용자 이름과 패스워드를 주면 로긴이 됩니다. 그리고 델...
    • 김수경
      2002.06.12 19:11
      아래와 같이 처리해 보세요.   1. F7(Trace Into), F8(Step Over) 키를 이용해서 단계적으로 ...
    • 이영주
      2002.06.12 19:18
      감사합니다.. 아래와 같이 해보았는데염.... 1번은 전혀 소용이 없어염.. 키를 누르자마자 cpu창이 뜨...
    • 김수경
      2002.06.13 00:33
      2 번이 올바르게 실행된다면 Delphi엔 문제가 없는 것 같습니다. 단계별로 Debugging이 불가능 하다면 Ful...
    • 이영주
      2002.06.13 00:57
      저 우선 감사합니다.. ^^; full debug mode라는 건 없구염.. Project/Option/Compiler 쪽에 있는 모든 ...
    • 나그네
    • 2002.06.12 18:31
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김수경
      2002.06.12 18:58
      받는 쪽 컴터의 통신 Buffer가 가득 찬 경우에 자료를 보낼 경우 자료가 제대로 전송되지 않습니다(이런 ...
    • 장명선
      2002.06.12 18:53
      에공 에공 아직까지 안되셨나부네요 어떤 기계인지는 모르지만 디기 까다롭네요 혹 메뉴얼같은게 있으...
    • 김관식
    • 2002.06.12 12:17
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 하기
      2002.06.18 02:38
      if not Table1.FindKey([Input.Text]) then 이렇게 쓰셨는데... 아마도 FindKey = True or False 이런식으...
    • 이재식
      2002.06.12 12:44
      안녕하세요 실무상에서는 테이블 컴포넌트를 안쓰는것이 좋다고 전 개인적으로 생각합니다 ^^; 아무...
    • 박희경
    • 2002.06.12 10:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.10.09 00:03
      domain name server 이므로 범용서버를 찾으시면 가능합니다.
    • 강영원
    • 2002.06.12 10:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      2002.06.12 12:36
      안녕하세요. 님이 원하시는 내용을 위해서 몇가지 추가를 해야하고 또 몇가지를 삭제해야 합니다. 스트...
    • 박영수
    • 2002.06.12 06:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.06.12 11:30
      안녕하세요. 최용일입니다. 흠~ 이 부분에서 Access violation에러가 날 이유는 없는데요... 한 줄씩 디...