To use a Distinct ActiveX control in a Visual C++ application, the application must
include definitions of the actions and errors for the control. These definitions are
listed in the D_*.H file (where * represents the control name) shipped with the ActiveX
control. For example, the D_FTP.H file contains the definitions for the FTP control. This
file must be included in the module that uses the control. Next, the Distinct ActiveX
control must be added to the project. This is accomplished by choosing the Add to Project
command from the Project menu (or by selecting Component Gallery from the toolbar) of
Visual C++ . In the Components and Controls Gallery dialog look in the Registered ActiveX
Controls folder. Choose the Distinct ActiveX control of interest from the available
controls and click Insert. Click OK to add the control to your project. Visual C++ will
create a class for the ActiveX control. The application must create an instance of this
class to access the properties, events and methods.
Samples for all controls are supplied for versions 5 and 6 of this
environment. The following instructions illustrate how to load and run these samples in
the Visual C++ environment:
Below we describe what each sample does. Samples are stored in subfolders
below each VC ++ folder, that is, VC5 or VC6. The folder column shows the subfolder name
that contains one or more samples and the ActiveX control whose use is illustrated by the
sample.
| Folder |
Included Samples |
| APTHREAD (uses the FTP client ActiveX to illustrate the use
of apartment threading) |
This folder contains two samples that
illustrate the use of the apartment threading feature in the Distinct ActiveX controls (VC
6): Multiple: This subfolder contains a sample called FTPCLNT. This sample
application illustrates how to have your application do multiple concurrent get operations
with the FTP Client ActiveX. To simplify this sample, it is hardcoded to connect
automatically to the Distinct FTP site when the user selects Get File from the file menu
and transfers a predefined test file to the screen using an event based file transfer when
the user clicks on the Start Getting the File button. The user can run several of these
operations concurrently, with each Get an instance of the ActiveX component is created
with its own thread.
Note: this sample should be executed from outside the Visual C++ environment.
Shared: This subfolder contains a sample that is also called FTPCLNT. This
sample illustrates how the methods of the ActiveX control can be shared by other threads.
This example demonstrates how the main thread should marshall the interface of the control
so that other threads can call the methods of the control created on the main thread. |
| Finger (Finger ActiveX) |
This program illustrates how to include Finger functionality
into an application using the Finger ActiveX control. |
| Firewall (Firewall ActiveX) |
There are three samples in this folder each of which
illustrate how to program your application to handle connections through SOCKS firewalls: Daytime:
This shows you how to make a connection to a remote host through a firewall and how to
retrieve the hosts reply.
Send: This sample shows how to connect to a host through a firewall server to
send a message. The FirewallSend can be used to send a message to the FirewallRecv
sample.
Recv: This sample does not use the Firewall ActiveX, it is a sample to
illustrate how the receiving of data sent through the firewall works (refer to the Send
sample). It is a sample that uses the Windows Sockets control. |
| FTPCLNT (FTP Client ActiveX) |
These samples illustrate the various features
that are included in the FTP ActiveX. Below is a description of what each
subfolder contains as well as a description of the appartment treaded samples
found in the Apthread directory:
Apthread: This folder contains two samples that illustrate
the use of the apartment threading feature in the Distinct ActiveX controls (VC 6):
Multiple: This subfolder contains a sample called ThreadDemo. This sample
application illustrates how to have your application do multiple concurrent get
operations. To simplify this sample, it is hardcoded to connect automatically to the
Distinct FTP site when the user selects Get File from the file menu and transfers a
predefined test file to the screen using an event based file transfer when the user clicks
on the Start Getting the File button. The user can run several of these operations
concurrently, with each Get an instance of the ActiveX component is created with its own
thread.
Note: this sample should be executed from outside the Visual C++ environment.
Shared: This subfolder contains a sample that is also called ThreadDemo. This
sample illustrates how the methods of the ActiveX control can be shared by other threads.
Ftpclnt: This subfolder contains the FTPCLNT sample. This FTP sample program
shows you how to make a connection to the FTP server, send FTP commands and close your FTP
connection. It demonstrates much of the functionality of the FTP client ActiveX control,
illustrating the functions as menu items to simplify the code breakdown and allow the
programmer to quickly find some sample code for a particular method or property. This
sample also illustrates how to connect to an FTP server through a SOCKS firewall proxy. |
| FTPSRV (FTP Server ActiveX) |
This ftpsrv sample program shows you how to integrate
an FTP server that is capable of creating and modifying a client database, servicing
several clients (up to 64) simultaneously and providing statistics on client activity. It
demonstrates much of the functionality of the FTP server ActiveX control, illustrating the
functions through a simple interface, user database structure and menu items to simplify
the code breakdown and allow the programmer to quickly find some sample code for a
particular method or property. This program illustrates how to write a custom FTP server
application using the FTP Server ActiveX control. |
| ICMP (ICMP ActiveX) |
Two samples are supplied to illustrate the use of the
Internet Control Message Protocol (ICMP) to illustrate how to build in diagnostic tools
directly into your applications to facilitate support. Ping: The Ping sample uses
the ICMP ActiveX control to get an echo reply from a host. This is an
extremely helpful tool to build in to any networking application (Internet or Intranet.)
Tracrt: The Tracert sample shows how to trace the route a packet takes to the
destination host. This is very useful for diagnosing networking issues in Internet-based
applications. |
| IMAP (IMAP ActiveX) |
The ImapClnt sample illustrates how to use the IMAP
ActiveX to connect to an IMAP server through a SOCKS firewall, select and manipulate
mailboxes and their contents (search, append, list, retrieve parts of a message, store or
delete mail in private mail boxes) and disconnect. It demonstrates much of the
functionality of the IMAP client ActiveX, illustrating the functions as menu items to
simplify the code breakdown and allow the programmer to quickly find some sample code for
a particular method or property. When running this sample look at the help file for
instructions. |
| LPR (LPR ActiveX) |
The LPR sample application illustrates how to send
print jobs to an LPD server, query for the queue status and manage the print queue. |
| MIME (Mime, SMTP and POP ActiveXs) |
This folder contains three subfolders each with a sample
application: Mime: The Mime program shows how to encode and decode files, and how
to create and extract messages with attachments
SmtpMime: The SmtpMime sample illustrates the combined use of the SMTP and MIME
ActiveX controls. It illustrates how to create an SMTP plain text message and attach MIME
or UUencoded files. It then emails the messages using SMTP. You need to have a valid SMTP
server to run this sample.
PopMime: The SmtpMime sample illustrates the use of the Mime ActiveX in
conjunction with the POP ActiveX. It shows you how to connect to a POP3 server, download
and extract MIME encoded or UUencoded mail messages. |
| NNTP (NNTP ActiveX) |
The nntpclnt sample program illustrates how to access
a News server using the NNTP ActiveX control. The NNTP sample shows how to read, post,
position and list news articles and how to navigate news groups. It also illustrates how
to connect to the remote server through a firewall proxy. |
| POP (POP ActiveX) |
The popclnt sample program shows you how to make a
connection to the POP 2 or POP 3 server, send POP commands, download messages, and close
your POP connection. It demonstrates much of the functionality of the POP client ActiveX
control, illustrating the functions as menu items to simplify the code breakdown and allow
the programmer to quickly find some sample code for a particular method or property. |
| RAS (RAS ActiveX - this includes SLIP/PPP support) |
The RAS sample program illustrates how to control the
dialup and hang-up process to a remote server using the RAS ActiveX control. It allows
RAS, SLIP or PPP connections. This sample also shows how to do phonebook management. It
illustrates all the features included in the ActiveX for the creation and updating of new
phone book entries. |
| RCP (RCP ActiveX) |
The rcpclnt program illustrates how to include remote
copy operations into an application using the RCP ActiveX control. This sample shows how
to copy files between the local and remote machine, or from one remote machine to another.
It also illustrates how to do recursive file copying. The sample also allows you to create
a new file and save it to a remote file as well as view the contents of a remote file. |
| RLIB (RLIB ActiveX) |
The rlibclnt program illustrates how to include remote
command execution into an application using the RLIB ActiveX control. The sample
demonstrates the use of remote execution (Rexec), remote shell(rsh) and remote
login(rlogin). Note: In order to be able to connect using RLIB (RSHELL &
REXEC) you must make the PC running RLIB client, a trusted host on the Unix machine that
you are trying to connect. |
| Server (TCP Server ActiveX) |
This folder contains two sub folders one with a client
application and one with a server application. They are intended to be run together to
illustrate how a server application handles a client call: Tcpclnt: This is a
simple windows sockets application that makes a connection to a TCP server and sends data
to the server
Tcpsrv: This is a very simple server application that can be put in listen mode
to accept TCP connections and data sent from the tcpclnt application. For simplicity this
sample has only two display windows and accepts two concurrent connections. You can modify
the sample to accept more connections. |
| SMTP (SMTP ActiveX) |
The smtpclnt sample program shows you how to make a
connection (including connecting through a SOCKS firewall server) to the SMTP server, send
SMTP commands and mail, and close your SMTP connection. It demonstrates much of the
functionality of the SMTP client ActiveX control, illustrating the functions as menu items
to simplify the code breakdown and allow the programmer to quickly find some sample code
for a particular method or property. |
| Telnet (Telnet ActiveX) |
The telnet sample program illustrates how to include
Telnet type login capabilities into an application. It establishes a telnet connection
(with the option of establishing this through a SOCKS firewall), allows you to send telnet
commands and disconnects from the server. |
| TFTP (TFTP ActiveX) |
The tftpclnt sample program illustrates how to include
TFTP file transfer functionality into an application using the TFTP ActiveX control. It
demonstrates how to copy files between the local and remote machine, or from one remote
machine to another. |
| TftpParser (uses the parser API in Network Monitor) |
This is sample code that demonstrates how to write a parser
DLL that will be used by Distinct Network Monitor. This sample parses the TFTP
protocol (VC 5). |
| VT220 (VT220 ActiveX) |
There are two samples for VT220: VT220: The VT220
sample program illustrates how to include complete VT220 terminal emulation into an
application using the VT220 ActiveX control. This sample shows how to manage and customize
configurations, how to capture data from the remote terminal, and how to map the keyboard.
Socket: The socket sample program is designed to show how to filter data before
it is sent to the VT220 or when it is received from the VT220. For this the Windows
Sockets Control is used to handle the connection and the sending and receiving of data.
This data can then be filtered when it is received from the host and before it is given to
the VT220 ActiveX control. The data from the Vt220 ActiveX control can also be filtered
before it is sent back to the host. |
| Windows Sockets (Windows Sockets ActiveX) |
This folder contains three subfolders each containing sample
code to illustrate how various operations can be achieved using the Windows Sockets
ActiveX. Daytime: This sample program illustrates how make a UDP or TCP
connection to the remote host and retrieve the reply from the host.
Message: This folder contains two programs recv and send that are intended to
work together to illustrate how to write the client and server side of a TCP connection
using the Windows Sockets control.
Resolve: This program illustrates how to resolve a host name to an internet
address, or an internet address to a host name using the Windows Sockets ActiveX control. |
| WhoIs (WhoIs ActiveX) |
This program illustrates how to include WhoIs functionality
into an application. |