안녕하세요. 델파이 시작한지 두어달이 되지 않는 초보입니다. ;;
가능하면, 직접 찾아서 해결해보려 했으나,
이틀째 국대 델파이 커뮤니티를 다 뒤지고, 매뉴얼을 아무리 읽어봐도
통 감이 잡히질 않아서 이렇게 질문을 올리게 되었습니다.
RS232통신을 위해 TComPort컴포넌트를 사용하는데,
이걸 사용할때마다 폼위에 올리지 않고, 컴포넌트를 호출하는걸
클래스로 만들어 두었다가 코드만 복사해서 재사용하려고 합니다.
컴포넌트를 호출하고 데이터를 주고 받고까지는 되는데,
이 컴포넌트의 이벤트인 OnRxChar를 처리하는부분이 막막하네요.
폼에 직접 올리면, 간단하게 이벤트 프로시쥬어 내에 코드를 넣어서
처리가 되겠지만, 이게 클래스 내에 들어가니까 클래스 내에선
클래스 밖에 있는 폼의 오브젝트들을 사용할수가 없거든요.
간단하게 데이터가 오면 그냥 TMemo에 라인추가 만 되게 하려는데도
(시험삼아) 잘 안되네요.
대충 어떻게 하면 될거다,라는 힌트라도 주시면 정말 감사드리겠습니다.
답변 부탁드리며,
좋은하루 되시길.
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;