README.TXT
资源名称:ftpsrv.zip [点击查看]
上传用户:xdgkgcw
上传日期:2007-01-04
资源大小:92k
文件大小:18k
源码类别:
Delphi控件源码
开发平台:
WINDOWS
- ICS - Internet Component Suite
- ==============================
- (Aka FPIETTE's Components)
- Revised: July 25, 1999
- http://www.rtfm.be/fpiette/indexuk.htm
- Legal issues:
- -------------
- Copyright (C) 1997, 1998, 1999 by Fran鏾is PIETTE
- Rue de Grady 24, 4053 Embourg, Belgium
- <francois.piette@pophost.eunet.be> <francois.piette@rtfm.be>
- This software is provided 'as-is', without any express or
- implied warranty. In no event will the author be held liable
- for any damages arising from the use of this software.
- Permission is granted to anyone to use this software for any
- purpose, including commercial applications, and to alter it
- and redistribute it freely, subject to the following
- restrictions:
- 1. The origin of this software must not be misrepresented,
- you must not claim that you wrote the original software.
- If you use this software in a product, an acknowledgment
- in the product documentation would be appreciated but is
- not required.
- 2. Altered source versions must be plainly marked as such, and
- must not be misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source
- distribution.
- 4. You must register this software by sending a picture postcard
- to the author. Use a nice stamp and mention your name, street
- address, EMail address and any comment you like to say.
- Register
- --------
- ICS is freeware. If you use the components, you must register by sending a
- picture postcard showing the area you lives in and some beautiful stamps for
- my kids who are stamp collectors. Do not use an envelop, I collect USED
- postcards sent to me.
- Address your card to: Francois PIETTE, rue de Grady 24, 4053 Embourg, Belgium.
- Don't forget to mention your EMail, I'll tell you when I'll receive your
- postcard.
- Installation:
- -------------
- The zip file has subdirectories in it. You must use the pkunzip -d option
- to restore this directory tree or you will have problems because the files
- will not be in their proper subdirectories.
- This is the subdirectory layout:
- . Info directory
- .delphiinternet Delphi sample applications
- .cppinternet C++Builder sample applications
- .cppinternetbcb1 C++Builder version 1 projects
- .cppinternetbcb3 C++Builder version 3 projects
- .delphivc Delphi 1.x files (winsock.pas 16 bits and *.dcr)
- .delphivc32 Delphi (1/2/3/4) and C++Builder (1/3) components
- DELPHI4: Directory VC32 contains IcsDel40.dpk which is a package source for
- all components. Using Delphi, do a file/open, select *.dpk and browse to
- the VC32 directory. Select IcsDel40.dpk and open it. Then click on the
- Install button. You should see the FPiette tab on the component gallery.
- Once the package is installed, you may open the sample projects. There is a
- project group called Del40Sam.bpg which has all sample programs. Open it
- with file/open, browse to the Internet directory, selct and open Del40Sam.bpg.
- Then Project/Build all projects. You'll get all sample programs compiled.
- Note: Packages are in the full ICS, in ICS.ZIP file. If you downloaded a
- partial ICS, then you have to add each component by hand in the package
- of your choice.
- DELPHI3: Directory VC32 contains IcsDel30.dpk which is a package source for
- all components. Using Delphi, do a file/open, select *.dpk and browse to
- the VC32 directory. Select IcsDel30.dpk and open it. Then click on the
- Install button. You should see the FPiette tab on the component gallery.
- Once the components are all installed, you may open the sample projects
- each one after the other and compile them. For each project, do file/open
- and select the dpr file in the internet directory. Then Project/Build All.
- Note: Packages are in the full ICS, in ICS.ZIP file. If you downloaded a
- partial ICS, then you have to add each component by hand in the package
- of your choice.
- DELPHI2: Directory VC32 contains all components. You must add all those
- components into you library. But warning: not all files are components.
- Only those with a Register procedure are components. Other are just support
- files but must not be installed as components. To install a component file,
- do Component/Install, then click on the Add button, then click on the Browse
- button and browse to the VC32 directory. Select a component file such as
- wsocket.pas and click on OK. Do it again for all component files and
- finally click OK button on the Install Component dialog window. Your
- library will be rebuilt. You should see the tab FPiette added to your
- component gallery.
- Once the components are all installed, you may open the sample projects
- each one after the other and compile them. For each project, do file/open
- and select the dpr file in the internet directory. Then Project/Build All.
- DELPHI1: The install procedure is the same as for Delphi2. But you must
- add the directory VC into the library path before VC32 directory which
- will be added automatically when you add the first component source.
- VC directory in the library path is needed because Delphi 1 doesn't have
- built in winsock support. ICS contains winsock.pas in VC directory to
- add winsock support. VC directory also contains 16 bits component resource
- files (*.dcr) needed by Delphi 1. VC32 contains the 32 bits resource files.
- If you use only Delphi 1, you can safely copy all files from VC to VC32
- directory, but not the contrary.
- Once the components are all installed, you may open the sample projects
- each one after the other and compile them. For each project, do file/open
- and select the dpr file in the internet directory. Then Project/Build All.
- BCB3: First you need to install all components. There is a package in
- DelphiVC32 directory, called IcsBcb30.bpk. You do File/Open project and
- browse to IcsBcb30.bpk. Select and open it, then Project/Build IcsBcb30.
- Once the package is compiled, you can install it into your component
- palette: Component/Install Packages, click the Add button and select
- DelphiVC32IcsBcb30.bpl (you just generated this file by compiling the
- package). Click OK button. You must now see FPiette Tab on the component
- gallery.
- Once the components are all installed, you may open the sample projects
- each one after the other and compile them. For each project, do file/open
- and select the dpr file in the internet directory. Then Project/Build All.
- Projects are located in CPP/INTERNET/BCB3.
- Note: Packages are in the full ICS, in ICS.ZIP file. If you downloaded a
- partial ICS, then you have to add each component by hand in the package
- of your choice.
- BCB1: First you need to install all components that are located in
- Delphi/VC32. Components are all Object Pascal sources. You must select
- *.pas when in the open dialog box (Menu/Component/Install/Add/Browse).
- Components are files with a register procedure. Do not install files
- with no register procedure (if you try, you'll get an error message).
- Once the components are all installed, you may open the sample projects
- each one after the other and compile them. For each project, do file/open
- and select the dpr file in the internet directory. Then Project/Build All.
- Projects are located in CPP/INTERNET/BCB1.
- NOTES:
- - If you use Delphi 1, 2, 3 or BCB 1 or 3, you may have an error
- message complaining about Font.Charset and OldCreateOrder properties.
- Those are two new properties in newer Delphi versions. You can safely
- ignore those errors because those properties are not used by the
- components nor sample programs. You may encounter this error at run
- time. To avoid it, you must open each form at design time and ignore
- the error. Then recompile. If you don't ignore the error at design
- time, you'll have it at runtime !
- - If you are using BCB3, you may encounter an error at link time such as
- "Unable to open file MWBCB30.LIB" (or other LIB). This is a bug in BCB.
- To solve it, close BCB and open the package or project file with notepad
- or any text editor and remove any reference to the missing library. Then
- start BCB again, reopen the project and rebuilt it.
- - Don't forget that the C++Builder components are located in .delphivc32
- which is object pascal source code (not a problem for C++Builder, just
- indicate that the *.pas files are displayed when installing). C++Builder
- will create the *.hpp files. There are some on-line help files in the VC32
- directory. Do not install the WSockBuf.pas, icmp.pas, md5.pas, tnoptfrm.pas,
- formpos.pas files since it is not components (BCB1, D1, D2).
- - The following is a list of the files that should be installed in order to
- properly add all of the available components in this collection. Note that
- you may not have all of these present:
- > WSocket.pas (Winsock component - TCP, UDP, DNS,...)
- > HttpProt.pas (HTTP client protocol - used by the web)
- > FtpCli.pas (FTP client protocol - file transfert)
- > FtpSrv.pas (FTP server protocol - file transfert)
- > Ping.pas (ICMP echo protocol - ping a host)
- > Pop3Prot.pas (POP3 client protocol - get mail from mail server)
- > MimeDec.pas (MIME component - decode file attach, use with POP3)
- > SmtpProt.pas (SMTP client protocol - send mail to server)
- > NntpCli.pas (NNTP client protocol - send and receive newsgroups messages)
- > TnCnx.pas (TELNET client protocol - terminal emulation protocol)
- > TnScript.pas (TELNET client protocol - with automation)
- > EmulVT.pas (ANSI terminal emulation in a control)
- > TnEmulVT.pas (TELNET and ANSI terminal emulation combined)
- > FingCli.pas (FINGER client protocol - Find informations about user)
- > Wait.pas (A kind of progress bar - now obsolete)
- > DnsQuery (DNS lookup component - useful for getting MX records)
- As a rule, the component are the files which have a Register procedure.
- Sample applications:
- --------------------
- TWSCHAT Chat program (both client and server in a single program)
- SRV5/CLI5 Basic client/server GUI applications
- CONCLI Basic client/server console applications
- CONSRV Basic server application in console mode
- TNSRV Basic server, event driven
- MTSRV Basic server, multi-threaded
- FTPCLI Graphical FTP client
- FTPSERV General purpose FTP server
- TNCLIENT Telnet client using a TnEmulVT
- TNDEMO Telnet client using a TMemo
- UDPDEMO UDP send/receive
- MIMEDEMO Example of EMail decoding (file attach)
- MAILSND Example of EMail sending, including file attach
- MAILRCV Internet EMail access using POP3 protocol
- HTTPTST Example of THttpCli component (GET)
- HTTPGET Example of THttpCli component (GET into a file)
- HTTPPG Example of THttpCli component (POST)
- HTTPASP Example of THttpCli component with cookie (POST)
- HTTPASY Example of THttpCli component with multiple requests (GET)
- HTTPTHRD Example of THttpCli component (multi-threaded GET)
- FINGER Example of TFingerCli component
- NEWSRDR Example of TNntpCli component (Send/receive newsgroups)
- SRVDEMO Example of server using a TTable
- CLIDEMO Example of client for SRVDEMO
- As explined in the component installion, you may encounter an error loading
- a sample application or running it. This may be because the last time I
- loaded the form, I was using another Delphi version which has new properties.
- You can safely ignore those properties. They are not used in the samples.
- (The properties are CharSet and OldCreateOrder). You can also encounter
- error about duplicate resources. You can ignore them safely. If you have
- those errors, open each form in the IDE, ignore the error then recompile.
- If you don't open the form in the IDE, you'll get the errors at runtime
- and your program will abort.
- If you use C++Builder 1, you may encounter problems because Borland has
- two winsock include files: one .h and one .hpp. TWSocket needs the
- winsock.hpp file and it is automatically included. However, sometimes
- the winsock.h file is included indirectly and you will get numerous error
- messages from the compiler. Just add a #define _WINSOCKAPI_ before
- your existing #include directives. This will prevent winsock.h from being
- included. This is no a bug, it is a feature :-) Another annoying feature
- is the SetPortA syndrome. Add a #define _WINSPOOL_ before any #include
- directive to work around. If you have some file not found error at
- compile time, be sure to verify the project options to change any directory
- following your own configuration (include files and library path).
- Do NOT use those #include if you use C++Builder 3: Borland has corrected
- their mistake.
- When installing a new version, always recompile everything !
- Close everything before recompiling the library or packages.
- When installing a new version, be sure to unzip it in the same directory
- tree as the old one.
- The provided delphivcwinsock.pas is for use with Delphi 1 only.
- Use Borland's file with Delphi 2, 3, 4 and C++Builder.
- C++Builder 1 and 3 projects are not compatible. V3 can load and convert V1
- project. For those who need the two versions, I made separate projects in
- CPPINTERNETBCB1 and CPPINTERNETBCB3 directories. If you install this
- ICS version above an older one, be sure to delete every *.mak and
- corresponding *.cpp files form the internet directory (not all *.cpp
- files, only those which has a corresponding *.mak file !).
- Support:
- --------
- There is a mailing list to discuss F. Piette's components and applications.
- To subscribe send an EMail at majordomo@rtfm.be without subject line and
- with "subscribe twsocket" in the message body (without the quotes). You'll
- receive an autorization message you have to reply. Then you'll receive an
- acknowledgement and instructions to unsubscribe.
- Once you have been registered with the mailing list processor, you can
- send messages to twsocket@rtfm.be. Every subscriber will receive a copy of
- your message. I will respond, but anybody is welcome to respond to each
- other's messages. So every body can share his expertize.
- Before asking a question, browse the message digest you can download from
- the support page on the website (click the "support" button from main page).
- If you found a bug, please make a short program which reproduce the problem
- attach it to a message addressed to me. If I can reproduce the problem, I
- can find a fix !
- You are also encouraged to use the support mailing list to ask for
- enhancements. You are welcome to post your own code.
- The support mailing list has an heavy traffic: 20 to 40 messages each day. If
- it is too much for you, you can subscribe to another mailing list called
- twsocket-announce which will receive only very few messages when major bug
- fixes or updates are done. The subscription process is the same as for the
- other mailing list. See above procedure.
- MidWare
- -------
- If you wants to build client/server applications using TCP/IP protocol, you
- can do it easily with ICS. But you can do it much more easily using another
- freeware product from Fran鏾is Piette: MidWare. Available from the same web
- site.
- Known problems:
- --------------
- Delphi and C++Builder have limitation on path length. If you installed many
- components in many differents subdirectories, you'll get strange errors. Just
- make the path shorter and use less different directories. You cannot have
- a path greater than 255 characters (this problem is solved starting from Delphi
- 3.02 or later).
- Using Delphi 3 Pro, there could a problem after inserting all the component
- into your user package. Delphi 3 gives an access violation error in DCC.DLL.
- This does not occur if you use Delphi C/S (That's what I do). Ben Ark
- (BenArk@email.msn.com) has found the following procedure to overcome
- this [Delphi] bug:
- ---- copy of a message posted in twsocket@rtfm.be mailing list ----
- Just thought I'd correct that previous message with some more detailed
- steps...
- 1) Remove the EmulVT and TnEmulVT units from your User Package.
- 2) Create a new project/application.
- 3) Put all of these new files in a directory seperate from your components.
- 4) MOVE, do not copy, your Emulvt.pas source file into this new directory.
- 5) You need to add Emulvt.pas to the new project.
- 6) Build the project.
- 7) This should generate an Emultvt.dcu in the directory where the project
- is.
- 8) Copy ONLY the DCU file into your component directory
- 9) Add EmulVT.dcu to your User Package.
- 10) Make sure the EmulVT.pas file IS NOT on your search path.
- 11) Now you can safely readd TnEmulVT.pas to your User Package and build
- it.
- If you have any problems with these steps, let me know.
- -Ben
- ---- End of message ----
- Thank you Ben !
- Eric Daniels <sparky@netgsi.com> also found the same problem with Delphi 3
- standard. Here what's he tell me in a message:
- ---- copy of a message posted in twsocket@rtfm.be mailing list ----
- This error does happen under Delphi 3 Standard which I use... I traced it
- down and found out to trigger this error all one needs to do is goto:
- package options / compiler / debugging section and look for local symbols
- if this is not checked I will get this error. After playing around with my
- compiler options I unchecked local symbols and rebuilt the package and
- Access Violation in dcc.dll read of address occurred... If anyone has this
- happen while using the ics components that is how I managed to fix it. Also
- I got error about unable to find *.dcr files if you edit your package source
- and specify the full path to each dcr file you will find all goes well.
- ---- End of message ----
- Special thanks
- --------------
- to Bob Dolan (bobd@overware.com) who corrected my bad english.
- (Ok, I introduced new errors since I updated this file... For those
- who cares, I normally speak french.)
- francois.piette@rtfm.be
- http://www.rtfm.be/fpiette/indexuk.htm