Common Technical Questions and Answers to Delphi 3 and BDE/SQL Links 4.x - Internet


INTERNET SECTION


Q: Launching a web browser: How can I launch the computer's current web brower with a specific web site URL?

A: Call the Win32 API function called HlinkNavigateString which is declared in the UrlMon unit.

Example call:

HlinkNavigateString(Nil,'http://www.borland.com');
If you're calling this from an ActiveForm then call it like this:
HlinkNavigateString(ComObject,'http://www.borland.com');

Q: TClientSocket and TServerSocket: Why don't the Sockets receive more than 8k worth of data?

A: Because the IP layer breaks a stream of data into 8k chunks, the developer must explicitly insert a length integer at the beginning of the stream telling the receiving end how much data to expect, more importantly, how many 8k packets to receive.

Because the Socket components are just wrappers for the WinSock and not Protocols with header information (as mentioned above), the developer must concern themselves with said "padding" of data. This requires:
NOTE: The implementation can vary by the developer so this will remain generic.

  1. padding the data at the source with a length integer,
  2. extracting the length integer at the destination,
  3. counting the number of bytes received at the destination and matching those with the length integer.
  4. If TotalBytesReceived <> LengthInteger then know the next packet is a continuation, otherwise know the next packet is a different stream altogether.

NOTE: This is handled in HTTP & FTP protocols via header information (ie, 'Content\Length:').


If one of the above topics need to be elaborated on, or you do not see a simple question about Delphi 3 that is not answered above, send a short message to the BDE Administrator

US developer support questions should be handled through any of the Borland Assist options. Non-US developer support should be handled through an international Borland office in your area. The administrator of this page reserves the right to reply only to questions pertaining to the current page. All other types of inquiries will be ignored! Back To Top

Delphi Q and A Trademarks & Copyright © 1997 Borland International, Inc.