Q&A

  • TComPort 컴포넌트를 클래스로 호출하려고 할때의 이벤트 처리
안녕하세요. 델파이 시작한지 두어달이 되지 않는 초보입니다. ;;

가능하면, 직접 찾아서 해결해보려 했으나,
이틀째 국대 델파이 커뮤니티를 다 뒤지고, 매뉴얼을 아무리 읽어봐도
통 감이 잡히질 않아서 이렇게 질문을 올리게 되었습니다.

RS232통신을 위해 TComPort컴포넌트를 사용하는데,
이걸 사용할때마다 폼위에 올리지 않고, 컴포넌트를 호출하는걸
클래스로 만들어 두었다가 코드만 복사해서 재사용하려고 합니다.

컴포넌트를 호출하고 데이터를 주고 받고까지는 되는데,
이 컴포넌트의 이벤트인 OnRxChar를 처리하는부분이 막막하네요.
폼에 직접 올리면, 간단하게 이벤트 프로시쥬어 내에 코드를 넣어서
처리가 되겠지만, 이게 클래스 내에 들어가니까 클래스 내에선
클래스 밖에 있는 폼의 오브젝트들을 사용할수가 없거든요.
간단하게 데이터가 오면 그냥 TMemo에 라인추가 만 되게 하려는데도
(시험삼아) 잘 안되네요.

대충 어떻게 하면 될거다,라는 힌트라도 주시면 정말 감사드리겠습니다.
답변 부탁드리며,
좋은하루 되시길.

2  COMMENTS
  • Profile
    소울해커 2003.12.12 22:42
    type
      procedure ComPortRxChar(Sender: TObject);
      // 뒷부분의 Sender 부분은 원래의 이벤트 프로시져가 받는 인자로 넣으셔야 합니다.
      private
         ComPort: TComPort;

    implementation

    procedure TForm_Main.FormCreate(Sender: TObject);
    begin
       ComPort := TComPort.Create(Nil);
       ComPort.OnRxChar := ComPortRxChar;
    end;

    procedure TForm_Main.ComPortRxChar(Sender: TObject);
    begin
       // 여기다가 할일 하세요.
    end;


  • Profile
    앨리스 2003.12.13 00:01
    답변 감사드립니다.
    좋은하루 되세요. ^^

    • 물방울
    • 2003.12.13 02:22
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 방순한
      2003.12.13 02:27
      Exception Check를 해보심이.... 숫자로만 이루어졌다면 integer값으로 형변환이 되겠지요..^^ try &n...
    • nilriri™
      2003.12.13 07:45
      Exception 처리를 사용하기 보다는 val함수나 tryStrToint 함수가 더 낳을거 같군요..^^; 그럼 즐프~
    • nilriri™
      2003.12.13 02:24
      procedure TForm1.Button1Click(Sender: TObject); var    ret : integer;    tmp ...
    • 장태원
      2003.12.13 01:21
      사용자 컴퍼넌트 묶음 패캐지인 GS4B0200 가 없어서 발생되는 에러인듯.
    • 김영애
      2003.12.13 02:04
      답변 감사드립니다. 그런데 그 문제는 아닌것 같네여 원래 ocx 추가시키기 전에는 잘
    • 쳐리
    • 2003.12.13 00:01
    • 2 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2003.12.13 02:29
      델파이 헬프의 예제입니다.. function Sum( var X: arrayof Double): Double; var   I: W...
    • 소울해커
      2003.12.13 00:28
      Length(동적배열); 하시면 동적 배열의 크기가 나옵니다.
    • 엔터프라이즈
      2003.12.13 00:30
      While Not ADOQuery1.eof do begin           &nbs...
    • 김영애
    • 2003.12.12 22:16
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2003.12.12 22:36
      Copy라는 함수가 있습니다. var S: String;      R: String; begin   ...
    • 김영애
      2003.12.13 01:04
      답변 감사드립니다.
    • 앨리스
    • 2003.12.12 21:56
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2003.12.12 22:42
      type   procedure ComPortRxChar(Sender: TObject);   // 뒷부분의 Sender 부분은 ...
    • 앨리스
      2003.12.13 00:01
      답변 감사드립니다. 좋은하루 되세요. ^^
    • 소울해커
      2003.12.12 22:18
      저 같은 경우는 컴포넌트를 추가할때 따로 만들어둔 사용자 정의 패키지(dpk 파일)에 집어넣어둡니다. 그...
    • 초보
    • 2003.12.12 19:04
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 진형욱
      2003.12.12 19:08
      특별한 옵션기능은 없구요. 이미지를 배경으로 사용하는 것도 좋을듯 한데요....
    • 초보
      2003.12.12 19:15
      이미지를 배경으로...???
    • 서종환
    • 2003.12.12 17:57
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 신석기
      2003.12.12 18:17
      TabSheet1.TabVisible := false; 이렇게 하시면 되구요.... 그런것을 원하지 않으시면 Componet Tab wi...
    • KDDG_RNStone
      2003.12.12 18:06
      Tab이라면 TabSheet를 말하는 거겠죠? PageControl1.Pages[X].TabVisible := False; 여기서 X는 Page...
    • 김대완
    • 2003.12.12 17:56
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김건림
    • 2003.12.12 12:11
    • 0 COMMENTS
    • /
    • 0 LIKES
    • LDS
      2003.12.12 18:36
      이미지 회전 축소 확대 모든 기능이 있습니다. 또한 축소 확대 했을 경우 만족할만 했구요.. 제...
    • 이현호
    • 2003.12.12 04:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 너구리
      2003.12.12 20:31
      TQuery에 필드를 올려놓고 filedtype이 blob으로 되어있는지 보십시오.. 저도 왜 이럴까 했는데.. 이...
    • 정대만
    • 2003.12.12 03:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 너구리
      2003.12.12 20:33
      컴퍼넌트를 만드세요.. DBGrid는 그냥은 안됩니다. DBGrid상속받아서 쓰시면 될것 같습니다.
    • 무뇌아
      2003.12.23 23:02
      안녕하세요? 비슷한 문제로 고민하고 있는 사람입니다. ㅡ.ㅡ;; 제 문제도 완전히 해결된건 아니지...
    • 이중철
      2003.12.12 23:31
         if ParentForm = nil then      Form1:=TForm1.Create(ParentForm); ...
    • 살며배우며
      2003.12.15 19:02
      제 질문에 관심을 가져 주셔서 감사함니다. if ParentForm = nil then 이문장을 넣지 않으면 차일드 ...
    • LDS
    • 2003.12.12 02:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • LDS
      2003.12.12 19:58
      delphi 4 ~ 6까지 사용 할수 있는 콤퍼입니다. 그런데 데모도 있는데 usb에서 들어 오는 값이나 그...
    • 얼채
    • 2003.12.12 01:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 너구리
      2003.12.12 01:59
      일정한 시간마다 이벤트를 발생시키는 컴퍼넌트가 있습니다. timer라고 하는놈이죠 그림도 시계모양이에...
    • 박희경
    • 2003.12.11 22:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      2003.12.24 22:41
      Gauges 컴포넌트는 델파이 기본 VCL입니다.
    • 이기재
    • 2003.12.11 20:17
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2003.12.11 20:20
      SELECT field1, field2, field3 from table1 union select sum(field1), sum(field2), sum(field3) ...
    • 이기재
      2003.12.11 20:29
      감사합니당 긍데.. 적용하기가 넘흐 어렵네요 ㅡㅜ 원소스는 델파이 클레스에서 SELECT := '..'이런식으...
    • 이기재
      2003.12.11 20:37
      그리궁 요고에서 마지막 select문에 from 원래 빼는건가요 ㅡㅜ
    • 성더기
      2003.12.11 21:13
      에구 죄송합니다 select field1, field2, field3 from (SELECT field1, field2, field3   &nb...