Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 Changing com port config via Win95 CommConfig Dialog


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?   

    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 TForm .Button Click(Sender: TObject);
    var
      CommPort : string;
      hCommFile : THandle;
      Buffer : PCommConfig;
      size : DWORD;
    begin
      CommPort := 'COM ';
     {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),
                          Form .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;
    

     



  << Previous Faq     Complete List     Next Faq >>  



 
 Hits/month  2,500,000+ 
 Downloads
 (Since May 2000)
 7,393,709 
 Total Files  6,023 
 Forum msgs  7,670 
 Articles/FAQs  70+/900+ 
Kylix
Tips n Tricks
FAQs
Knowledge Base
Bug Listings
Articles
Books
Newsgroups
Links
Submissions
Testimonials
Advertising
Contact Us
About Us
Search Amazon:
Top Selling Software at Amazon

| Home/News | Downloads | Forums | Resources | Info and Facts | Testimonials |
  Site Search:
 


Comments/Problems: Webmaster@delphi32.com
Copyright © 1998-2006, Delphi32.com. All rights reserved.
Terms of Use