- - * - WhiteUnicorn - * - -




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >


Frequently Asked Questions

Changing com port config via Win95 CommConfig Dialog

Question:

When I use the Windows 95 CommConfig Dialog box, the settings entered do not seem to change the com port's configuration. How can I set the comm ports configuration using the CommConfig Dialog box?

Answer:

The following example demonstrates setting the comm port under
Windows95 using the CommConfig Dialog box. Note: Any changes 
made to the dialog are not updated in the system. You are 
responsible for updating the com ports configuration.

Example:

procedure TForm1.Button1Click(Sender: TObject);
var
  CommPort : string;
  hCommFile : THandle;
  Buffer : PCommConfig;
  size : DWORD;
begin
  CommPort := 'COM1';
 {Open the comm port}
  hCommFile := CreateFile(PChar(CommPort),
                          GENERIC_WRITE,
                          0,
                          nil,
                          OPEN_EXISTING,
                          FILE_ATTRIBUTE_NORMAL,
                          0);
  if hCommFile=INVALID_HANDLE_VALUE then
  begin
    ShowMessage('Unable to open '+ CommPort);
    exit;
  end;
 {Get a temporary buffer}
  GetMem(Buffer, sizeof(TCommConfig));
 {Get the size of the CommConfig structure}
 {as it may be different than documented}
  size := 0;
  GetCommConfig(hCommFile, Buffer^, size);
 {Free the temporary buffer}
  FreeMem(Buffer, sizeof(TCommConfig));
 {Get the CommConfig structure}
  GetMem(Buffer, size);
  GetCommConfig(hCommFile, Buffer^, size);

 {Pop up the comm port config dialog}
  if CommConfigDialog(PChar(CommPort),
                      Form1.Handle,
                      Buffer^) = true then begin
   {Set the com port to the values entered}
   {in the dialog if the user pressed ok}
    SetCommConfig(hCommFile, Buffer^, size);
  end;

 {Free the buffer}
  FreeMem(Buffer, size);

 {Close the comm port}
  CloseHandle(hCommFile);
end;



* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >



- - * - Anastasija aka WhiteUnicorn - * - - LJLiveJournal
PFPhotoFile