*델파이 6.0에서 ComPort 3.0 을 설치했습니다...
거기에 보면 ComExample 이라는 예제 프로그램이 있어서 연결하여 테스트 하는데
Read가 잘 되지 않는데 왜 그런지요?
*테스트 환경
컴1(노트북,XP,USB SerialPort) - 팩스모뎀 --------- 팩스모뎀-컴2
*이상현상
컴1(노트북)에서 데이타를 보내면 정상적으로 컴2 에 Display 되는데,
컴2에서 컴1(노트북)으로 데이타를 보내면 화면에 나타나지 안습니다.
전화걸기나 다른 모뎀의 명령어를 보내면 정상적으로 RxChar 이벤가 발생하여
컴1과 컴2의 Memo에 정산적으로 Display 가 되는데 그냥 문자는
컴1에서 보내면 정상적으로 컴2에 나타나는데,
컴2에서 보내명 컴1에 스트링값이 나타나지 않습니다...
고수님의 가르침 부탁드립니다.
<!--CodeS-->
procedure TForm1.Button_OpenClick(Sender: TObject);
begin
if ComPort.Connected then
ComPort.Close
else
ComPort.Open;
end;
procedure TForm1.Button_SettingsClick(Sender: TObject);
begin
ComPort.ShowSetupDialog;
end;
procedure TForm1.Button_SendClick(Sender: TObject);
var
Str: String;
begin
Str := Edit_Data.Text;
if NewLine_CB.Checked then
Str := Str + #13#10;
ComPort.WriteStr(Str);
end;
procedure TForm1.ComPortOpen(Sender: TObject);
begin
Button_Open.Caption := 'Close';
end;
procedure TForm1.ComPortClose(Sender: TObject);
begin
if Button_Open <> nil then
Button_Open.Caption := 'Open';
end;
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
Str: String;
begin
ComPort.ReadStr(Str, Count);
Memo.Text := Memo.Text + Str;
end;
procedure TForm1.Bt_LoadClick(Sender: TObject);
begin
ComPort.LoadSettings(stRegistry, 'HKEY_LOCAL_MACHINE\Software\Dejan');
// ComPort.LoadSettings(stIniFile, 'e:\Test.ini');
end;
procedure TForm1.Bt_StoreClick(Sender: TObject);
begin
// ComPort.StoreSettings(stIniFile, 'e:\Test.ini');
ComPort.StoreSettings(stRegistry, 'HKEY_LOCAL_MACHINE\Software\Dejan');
end;
end.
<!--CodeE-->
데이타 주고 받는것이 가능하던군요.
근데 제가 통신에 왕초보라서 그러는데요,
TComFlowControl 의 의미를 모르겠습니다.
어떻게 상호 작용을 하는지?
글구 TComFolwControl.FlowControl 의 값을 어떤때 어떻게 setting 하는지 궁금합니다.