Distinct offers Network Monitor, the ONLY natural language Protocol Analyzer, ONC RPC for C++, .NET and Java, and IntelliTerm, the fastest Terminal Emulator for TN3270, TN5250 and VT420 on the market.

Knowledgebase

   Products   Downloads   Sales   Support   About us
  VIT
 



        
 
 

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.

Note: If you are using VC++ version 5 please make sure that you have service pack 3 installed on your system.

How to Run the Sample Programs in Microsoft C++

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:

  1. Open the Microsoft Visual C++ development environment.
  2. From the File menu select Open Workspace.
  3. Use the Browse button to load the sample application. For example to load the ftp client sample browse for …\samples\vc6\ftpclnt\ftpclnt and select the ftpclnt.dsw project file.
  4. From the build menu select the Build command and then choose the Execute command to run it.

Where to find the VC ++ samples you need

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 Firewall\Send can be used to send a message to the Firewall\Recv 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.

 <<   Table Of Contents   >> 

*Get Adobe Acrobat Reader if needed.



Browse FAQ

Related Products
Mail Objects

Recommended Add-On
Network Monitor,
Protocol Analyzer


Raves
"The night before I went on summer holiday we had to make some 'last minute' configuration changes to approx. 300 routers, a tedious job to do manually with telnet. We went along with MS Excel containing a list of IP-adresses to the routers, and the VIT telnet-component. One hour later the VBA-application (small is beautiful) was working, and after another hour all of our routers were updated with the new configuration. I just say a big "Thanks" to you all for a good sleep that night."
Eirik Brendholen, Ergo Integration AS

"We conducted a test session to compare the performance of similar products, and Distinct's product was better!" [more]
Dr. Shyam Sunder, Carnegie Mellon University

"Together with Distinct, we were able to offer our users an ideal soution to enabling them to connect to Yahoo! Pager, and to do so both quickly and reliably." [more]
Brian Park,
Producer of Yahoo! Pager, Yahoo! Inc.


  9/2/2010   Legal notices | PRIVACY Policy |