|
동적으로 생성해도 동작을 잘 합니다.... ㅋㅋㅋㅋ 메세지 연결도 알았고......
참고하실 분 아래를 참고하시고.........
한가지 아시는 분 답변 부탁합니다......
제가 앞쪽 회사에서 델파이 1년 했습니다.... 환경도 익히지 않고 그냥 JAVA와 C, C++소스를
참고해서... 안티알리아싱 Line(붓펜)을 그리는 알고리즘을 만드는데... 2~3개월 보내어 버리고...
원격제어는 VC++로 해 버리고 그래서 델파이도 대략 익혔는데 그때 메세지 연결 방식이
아래와 같은 것인데.... C++ Builder에도 이런 방식 없었습니까?
아래와 같이 선언하면 WIN32의 WM_ACTIVE로 연결됩니다.
procedure WMActive(var Message: TWMActivate); message
그리고 아래의 것 연결 방식 외에 다르게 메세지를 연결하는 방법 아시는 법 답변 부탁드립니다.
그냥 생각이 나서 질문을 드렸고 혹 다른 분들도 이런 것 때문에... 고민하시는 분들이 있을 것 같아....
그럼 다음에...
// HEAD FILE ---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "CPort.hpp"
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TMemo *Memo1;
TButton *Button1;
TButton *Button2;
void __fastcall FormDestroy(TObject *Sender);
void __fastcall Button1Click(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
private: // User declarations
public: // User declarations
TComPort *ComPort1;
void __fastcall ComPort1RxChar(TObject *Sender, int Count);
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
// SOURCE FILE ---------------------------------------------------------------------------
void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count)
{
char sss[500];
char *p;
int i;
char ttt[10];
ComPort1->Read( sss, Count );
p = sss;
i=0;
while( i<Count )
{
wsprintf( ttt, "0x%02X ", *p++ );
Memo1->Lines->Add( ttt );
i++;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
ComPort1->Close();
delete ComPort1;
}
//---------------------------------------------------------------------------
//버튼을 하나 만들고 TComPort를 Open
//TComPort의 Setting값은 Default로 두고 아래에 몇개만 대입해 보았습니다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ComPort1 = new TComPort(this);
ComPort1->Port = "COM1";
ComPort1->BaudRate = br9600;
ComPort1->OnRxChar = ComPort1RxChar;
ComPort1->Open();
}
//---------------------------------------------------------------------------
//이것은 Data를 보내는 것
void __fastcall TForm1::Button2Click(TObject *Sender)
{
char str[100] = "123456789";
ComPort1->Write( str, 8 );
str[0] = 0x0D;
str[1] = 0x0A;
ComPort1->Write( str, 2 );
}
//---------------------------------------------------------------------------
|