Difference between revisions of "Broker help/TOC"

From VistApedia
Jump to: navigation, search
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
This is a conversion of the Broker.hlp file to mediawiki format using the helpdeco converter program converted to vistapedia.net by Ignacio Valdes of Astronaut, LLC  The original formatting such as Table of Contents linking and screen shots is not present.
+
: This is a conversion of the Broker.hlp file to mediawiki format using the helpdeco converter program converted to vistapedia.net by Ignacio Valdes of Astronaut, LLC  The original formatting such as Table of Contents linking and screen shots is not present.
 
 
 
:Base broker.hlp>main
 
:Base broker.hlp>main
 
:Title RPC Broker Developer's Guide
 
:Title RPC Broker Developer's Guide
  
=RPC Broker V. 1.1 Developer's Guide  =
+
RPC Broker V. 1.1 Developer's Guide   
==[[Broker_help/Overview |Overview]] ==
+
= Overview  =
===[[Broker_help/introduction |Introduction]] ===
+
== Introduction  ==
===[[Broker_help/Broker_Overview|Broker Overview]]  ===
+
The RPC Broker is a client/server system within VA's Veterans Health Information Systems and Technology Architecture (VISTA) environment. It enables client applications to communicate and exchange data with M Servers.
===[[Broker_help/Orientation|Orientation]]  ===
+
 
===[[Broker_help/About_this_version| About this Version of the RPC Broker]]  ===
+
This manual describes the development features of the RPC Broker. The emphasis is on using the RPC Broker in conjunction with Borland's Delphi software. However, the RPC Broker supports other development environments.
===[[Broker_help/Whats_New_in_the_BDK| What's New in the BDK]]  ===
+
 
===[[Broker_help/Developer_Considerations| Developer Considerations]] ===
+
This manual provides a complete reference for development with the RPC Broker. For an overview of development with the RPC Broker component, see the "RPC Broker V. 1.1 Getting Started with the Broker Development Kit" manual.
===[[Broker_help/Application_Level_Issues| Application Issues]]  ===
+
 
===[[Broker_help/Silent_Login|Silent Login]] ===
+
This document is intended for the VISTA development community and Information Resource Management (IRM) staff. A wider audience of technical personnel engaged in operating and maintaining the Department of Veterans Affairs (VA) software might also find it useful as a reference.
===[[Broker_help/ig_helpfile|Context-sensitive Help for the TRPCBroker Component]]  ===
+
 
== RPC Broker Components and Classes  ==
+
==[[Broker_help/Broker_Overview|Broker Overview]] ==
===[[Broker_help\TRPCBroker|TRPCBroker Component]] ===
+
 
===[[Broker_help\TXWBRichEdit_Component|TXWBRichEdit Component]] ===
+
For the latest RPC Broker product information, please refer to the RPC Broker Home Page on the web at:
===[[Broker_help\TMult_Class|TMult Class]]  ===
+
http://vista.med.va.gov/broker/index.html.
===[[Broker_help\TParamRecord_Class|TParamRecord Class]] ===
+
 
===[[Broker_help\TParams_Class| TParams Class]]  ===
+
 
===[[Broker_help\TVistaLogin_Class| TVistaLogin Class]]  ===
+
==[[Broker_help/Orientation|Orientation]]  ==
===[[Broker_help\=TVistaUser_Class| TVistaUser Class]]  ===
+
 
===[[Broker_help\3 EBrokerError Exception=EBrokerError]] ===
+
==[[Broker_help/About_this_version| About this Version of the RPC Broker]] ==
===[[Broker_help\Units |Units]]  ===
+
This version of the Broker provides programmers with the capability to develop new VISTA client/server software using the Broker Delphi component (i.e., TRPCBroker) in the 32-bit environment.
====[[Broker_help\4 Hash Unit=Hash_unit]] ====
+
==[[Broker_help/Whats_New_in_the_BDK| What's New in the BDK]]  ==
====[[Broker_help\4 LoginFrm Unit=LoginFrm_Unit]]  ====
+
What’s New Through May 2002?
====[[Broker_help\4 MFunStr Unit=MFunStr_unit]] ====
+
 
====[[Broker_help\4 RPCConf1 Unit=RPCConf1_unit]] ====
+
Support for Delphi V. 6.0
====[[Broker_help\4 RpcSLogin Unit=RpcSLogin_Unit]] ====
+
 
====[[Broker_help\4 SplVista Unit=SplVista_unit]]  ====
+
As of Patch XWB*1.1*13, the BDK supports Delphi V. 6.0.
====[[Broker_help\4 TRPCB Unit=TRPCB_unit]] ====
+
 
====[[Broker_help\4 TVCEdit Unit=TVCEdit_Unit]] ====
+
 
==[[Broker_help\2 Remote Procedure Calls (RPCs)]] ==
+
==[[Broker_help/Developer_Considerations| Developer Considerations]] ==
===[[Broker_help\3 Overview=rpc_overview]] ===
+
==[[Broker_help/Application_Level_Issues| Application Issues]] ==
===[[Broker_help\3 What Makes a Good RPC?=rpc_good]] ===
+
==[[Broker_help/Silent_Login|Silent Login]]  ==
===[[Broker_help\3 Creating RPCs=rpc_create]]  ===
+
==[[Broker_help/ig_helpfile|Context-sensitive Help for the TRPCBroker Component]] ==
===[[Broker_help\3 Using an Existing M API=Using_an_Existing_M_API
+
= RPC Broker Components and Classes  =
===[[Broker_help\3 M Entry Point for an RPC]]  ===
+
==[[Broker_help\TRPCBroker|TRPCBroker Component]]  ==
====[[Broker_help\4 Relationship Between an M Entry Point and an RPC=rpc_routine_relationship]] ====
+
New TRPCBroker Component Properties
====[[Broker_help\4 First Input Parameter=rpc_first_input_param]]  ====
+
 
====[[Broker_help\4 Return Value Types=rpc_return_value_types]] ====
+
As of Patch XWB*1.1*13, the following properties are new with this version of the RPC Broker:
====[[Broker_help\4 Input Parameters=rpc_input_parameter_types]]  ====
+
 
====[[Broker_help\4 Examples=rpc_entry_point_examples]] ====
+
* Property
===[[Broker_help\3 RPC Entry in the Remote Procedure File]] ===
+
* CurrentContext (Public)
====[[Broker_help\4 RPC Entry in the Remote Procedure File=rpc_file_entry]] ====
+
* KerneLogIn (Published)
====[[Broker_help\4 RPC Version in the Remote Procedure File=RPC_Version_in_Remote_Procedure_File ]] ====
+
* LogIn (Public)
====[[Broker_help\4 Blocking an RPC in the Remote Procedure File=Blocking_an_RPC]] ====
+
* OnRPCBFailure (Public)
====[[Broker_help\4 Cleanup after RPC Execution=rpc_cleanup]]  ====
+
* RPCBError (Public)
====[[Broker_help\4 Documenting RPCs=rpc_document]]  ====
+
* ShowErrorMsgs (Published)
===[[Broker_help\3 Executing RPCs from Clients]]  ====
+
* User (Public)
====[[Broker_help\4 How to Execute an RPC from a Client=rpc_execute_from_client]] ====
+
 
====[[Broker_help\4 RPC Security: How to Register an RPC=rpc_register]] ====
+
==[[Broker_help\TXWBRichEdit_Component|TXWBRichEdit Component]] ==
====[[Broker_help\4 RPC Limits=RPC_limits]]  ====
+
==[[Broker_help\TMult_Class|TMult Class]]  ==
====[[Broker_help\4 BrokerExample Online Code Example=BrokerExample]] ====
+
==[[Broker_help\TParamRecord_Class|TParamRecord Class]] ==
==[[Broker_help\2 Other RPC Broker APIs]]  ==
+
==[[Broker_help\TParams_Class| TParams Class]]  ==
===[[Broker_help\3 Overview=otherapi_Overview]]  ===
+
==[[Broker_help\TVistaLogin_Class| TVistaLogin Class]]==
===[[Broker_help\3 Encryption Functions=otherapi_encrypt]]  ===
+
==[[Broker_help\TVistaUser_Class| TVistaUser Class]] ==
===[[Broker_help\3 GetServerInfo Function=otherapi_getserverinfo]] ===
+
==[[Broker_help\EBrokerError|EBrokerError Exception]]==
===[[Broker_help\3 M Emulation Functions=otherapi_m_emulation]]  ===
+
==[[Broker_help\Units|Units]] ==
===[[Broker_help\3 VistA Splash Screen Procedures=otherapi_splash]] ====
+
===[[Broker_help\Hash_unit|Hash Unit]]  ===
===[[Broker_help\3 $$BROKER^XWBLIB=otherapi_broker]]  ===
+
===[[Broker_help\LoginFrm_Unit|LoginFrm Unit]] ===
===[[Broker_help\3 $$RTRNFMT^XWBLIB=otherapi_rtrnfmt]]  ===
+
===[[Broker_help\MFunStr_unit|MFunStr Unit]] ===
===[[Broker_help\3 XWB ARE RPCS AVAILABLE=XWB_ARE_RPCS_AVAILABLE]] ===
+
===[[Broker_help\RPCConf1_unit|RPCConf1 Unit]] ===
===[[Broker_help\3 XWB IS RPC AVAILABLE=XWB_IS_RPC_AVAILABLE]]  ===
+
===[[Broker_help\RpcSLogin_Unit|RpcSLogin Unit]] ===
===[[Broker_help\3 XWB GET VARIABLE VALUE RPC=otherapi_getvarvalue]]  ===
+
===[[Broker_help\SplVista_unit|SplVista Unit]] ===
===[[Broker_help\3 Running RPCs on a Remote Server]]  ===
+
===[[Broker_help\TRPCB_unit|TRPCB Unit]]  ===
====[[Broker_help\4 Options For Running RPCs on a Remote Server=Options_For_Running_RPCs_on_a_Remote_Server]]  ====
+
===[[Broker_help\TVCEdit_Unit|TVCEdit Unit]] ===
====[[Broker_help\4 Checking RPC Availability on a Remote  Server=Checking_RPC_Availability_on_a_Remote_Server]]  ====
+
= Remote Procedure Calls (RPCs)  =
====[[Broker_help\4 XWB DIRECT RPC=XWB_DIRECT_RPC]]  ====
+
==[[Broker_help\rpc_overview|Overview]]  ==
====[[Broker_help\4 XWB REMOTE RPC=XWB_REMOTE_RPC]]  ====
+
==[[Broker_help\rpc_good|What Makes a Good RPC?]] ==
====[[Broker_help\4 XWB REMOTE STATUS CHECK=XWB_REMOTE_STATUS_CHECK]] ====
+
==[[Broker_help\rpc_create|Creating RPCs]]  ==
====[[Broker_help\4 XWB REMOTE GETDATA=XWB_REMOTE_GETDATA]] ====
+
==[[Broker_help\Using_an_Existing_M_API|Using an Existing M API]] ==
====[[Broker_help\4 XWB REMOTE CLEAR=XWB_REMOTE_CLEAR]] ====
+
==M Entry Point for an RPC ==
====[[Broker_help\3 Deferred RPCs]] ===
+
===[[Broker_help\=rpc_routine_relationship|Relationship Between an M Entry Point and an RPC]]  ===
====[[Broker_help\4 Overview of Deferred RPCs=Overview_of_Deferred_RPCs]] ====
+
===[[Broker_help\rpc_first_input_param|First Input Parameter]] ===
====[[Broker_help\4 XWB DEFERRED RPC=XWB_DEFERRED_RPC]]  ====
+
===[[Broker_help\rpc_return_value_types|Return Value Types]] ===
====[[Broker_help\4 XWB DEFERRED STATUS=XWB_DEFERRED_STATUS]]  ====
+
===[[Broker_help\rpc_input_parameter_types|Input Parameters]]===
====[[Broker_help\4 XWB DEFERRED GETDATA=XWB_DEFERRED_GETDATA]] ====
+
===[[Broker_help\rpc_entry_point_examples|Examples]] ===
====[[Broker_help\4 XWB DEFERRED CLEAR=XWB_DEFERRED_CLEAR]]  ====
+
== RPC Entry in the Remote Procedure File  ==
====[[Broker_help\4 XWB DEFERRED CLEARALL=XWB_DEFERRED_CLEARALL]]  ====
+
===[[Broker_help\rpc_file_entry|RPC Entry in the Remote Procedure File]]  ===
==[[Broker_help\2 Debugging and Troubleshooting]] ==
+
===[[Broker_help\RPC_Version_in_Remote_Procedure_File|RPC Version in the Remote Procedure File]]  ===
===[[Broker_help\3 Overview=debug_overview]]  ===
+
===[[Broker_help\Blocking_an_RPC|Blocking an RPC in the Remote Procedure File]]  ===
===[[Broker_help\3 How to Debug Your Application=debug]]  ===
+
===[[Broker_help\rpc_cleanup|Cleanup after RPC Execution]] ===
===[[Broker_help\3 RPC Error Trapping=Error_Handling]]  ===
+
===[[Broker_help\rpc_document|Documenting RPCs]] ===
===[[Broker_help\3 Identifying the Listener Process on the Server=ID_Listener]] ===
+
== Executing RPCs from Clients  ==
===[[Broker_help\3 Identifying the Handler Process on the Server=ID_Handler]] ===
+
===[[Broker_help\rpc_execute_from_client|How to Execute an RPC from a Client]]  ===
===[[Broker_help\3 Testing Your RPC Broker Connection=Testing_Connection]] ===
+
===[[Broker_help\rpc_register|RPC Security: How to Register an RPC]] ===
===[[Broker_help\3 Client Timeout and Buffer Clearing=Buffer_Clearing]] ===
+
===[[Broker_help\RPC_limits|RPC Limits]]  ===
===[[Broker_help\3 Memory Leaks=memory_leaks]] ===
+
===[[Broker_help\BrokerExample|BrokerExample Online Code Example]]  ===
==[[Broker_help\2 Developer Utilities]]  ==
+
= Other RPC Broker APIs  =
===[[Broker_help\3 RPC Broker Programmer Preferences=IDH_brokprogpref]]  ===
+
==[[Broker_help\otherapi_Overview|Overview]]  ==
== Tutorial  ==
+
==[[Broker_help\otherapi_encrypt|Encryption Functions]]  ==
===[[Broker_help\tut_intro| Introduction]]  ===
+
==[[Broker_help\otherapi_getserverinfo|GetServerInfo Function]] ==
===[[Broker_help\tut_prep| Advanced Preparation]]  ===
+
==[[Broker_help\otherapi_m_emulation|M Emulation Functions]]  ==
===[[Broker_help\tut_step1|Step  1: Create Application with an RPC Broker Component]]  ===
+
==[[Broker_help\otherapi_splash|VistA Splash Screen Procedures]] ==
===[[Broker_help\tut_step2|Step  2: Get Server/Port]]  ===
+
==[[Broker_help\otherapi_broker|$$BROKER^XWBLIB]]  ==
===[[Broker_help\tut_step3|Step  3: Establish Broker Connection]]  ====
+
==[[Broker_help\otherapi_rtrnfmt|$$RTRNFMT^XWBLIB]]  ==
===[[Broker_help\tut_step4|Step  4: RPC Routine to List Terminal Types]]  ===
+
==[[Broker_help\XWB_ARE_RPCS_AVAILABLE|XWB ARE RPCS AVAILABLE]]==
===[[Broker_help\tut_step5|Step  5: RPC to List Terminal Types]]  ===
+
==[[Broker_help\XWB_IS_RPC_AVAILABLE|XWB IS RPC AVAILABLE]]  ==
===[[Broker_help\tut_step6|Step  6: Call the ZxxxTT LIST RPC]] ===
+
==[[Broker_help\otherapi_getvarvalue|XWB GET VARIABLE VALUE RPC]]  ==
===[[Broker_help\tut_step7|Step  7: Associate IENs]]  ===
+
== Running RPCs on a Remote Server   ==
===[[Broker_help\tut_step8|Step  8: Routine to Retrieve Terminal Types]] ===
+
===[[Broker_help\Options_For_Running_RPCs_on_a_Remote_Server|Options For Running RPCs on a Remote Server]]  ===
===[[Broker_help\tut_step9|Step  9: RPC to Retrieve Terminal Types]]  ===
+
===[[Broker_help\=Checking_RPC_Availability_on_a_Remote_Server| Checking RPC Availability on a Remote  Server]]  ===
===[[Broker_help\tut_step10|Step 10: Call Zxxx RETRIEVE RPC]] ===
+
===[[Broker_help\XWB_DIRECT_RPC|XWB DIRECT RPC]]  ===
===[[Broker_help\tut_register| Step 11: Register RPCs]]  ===
+
===[[Broker_help\XWB_REMOTE_RPC|XWB REMOTE RPC]]  ===
===[[Broker_help\tut_fmdc|See Also: FileMan Delphi Components (FMDC)]]  ===
+
===[[Broker_help\XWB_REMOTE_STATUS_CHECK|XWB REMOTE STATUS CHECK]] ===
===[[Broker_help\tut_pascal|Tutorial Source Code]]  ===
+
===[[Broker_help\XWB_REMOTE_GETDATA|XWB REMOTE GETDATA]] ===
== DLL Interface  ==
+
===[[Broker_help\XWB_REMOTE_CLEAR|XWB REMOTE CLEAR]]===
===[[Broker_help\dll_intro| Introduction]] ===
+
== Deferred RPCs  ==
==  DLL Special Issues  ===
+
===[[Broker_help\Overview_of_Deferred_RPCs|Overview of Deferred RPCs]] ===
====[[Broker_help\dll_results|RPC Results from DLL Calls]]  ====
+
===[[Broker_help\XWB_DEFERRED_RPC|XWB DEFERRED RPC]]  ===
====[[Broker_help\dll_getserverinfo|GetServerInfo Function and the DLL]]  ====
+
===[[Broker_help\XWB_DEFERRED_STATUS|XWB DEFERRED STATUS]]  ===
=== DLL Exported Functions  ===
+
===[[Broker_help\XWB_DEFERRED_GETDATA|XWB DEFERRED GETDATA]] ===
====[[Broker_help\dll_function_rpcbcall|RPCBCall]]  ====
+
===[[Broker_help\XWB_DEFERRED_CLEAR|XWB DEFERRED CLEAR]]  ===
====[[Broker_help\dll_function_rpcbcreate|RPCBCreate]]  ====
+
===[[Broker_help\XWB_DEFERRED_CLEARALL|XWB DEFERRED CLEARALL]]  ===
====[[Broker_help\dll_function_rpcbcreatecontext|RPCBCreateContext]] ====
+
= Debugging and Troubleshooting  =
====[[Broker_help\dll_function_rpcbfree|RPCBFree]]  ====
+
==[[Broker_help\debug_overview| Overview]]  ==
====[[Broker_help\dll_function_rpcbmultitemget|RPCBMultItemGet]]  ====
+
==[[Broker_help\debug|How to Debug Your Application]]  ==
====[[Broker_help\dll_function_rpcbmultpropget|RPCBMultPropGet]]  ====
+
==[[Broker_help\Error_Handling| RPC Error Trapping]]  ==
====[[Broker_help\dll_function_rpcbmultset|RPCBMultSet]]  ====
+
==[[Broker_help\ID_Listener|Identifying the Listener Process on the Server]] ==
====[[Broker_help\dll_function_rpcbmultsortedset|RPCBMultSortedSet]]  ====
+
==[[Broker_help\ID_Handler|Identifying the Handler Process on the Server]] ==
====[[Broker_help\dll_function_rpcbParamGet|RPCBParamGet]]  ====
+
==[[Broker_help\Testing_Connection|Testing Your RPC Broker Connection]] ==
====[[Broker_help\dll_function_rpcbParamSet|RPCBParamSet]]  ====
+
==[[Broker_help\Buffer_Clearing|Client Timeout and Buffer Clearing]] ==
====[[Broker_help\dll_function_rpcbpropget|RPCBPropGet]]  ====
+
==[[Broker_help\memory_leaks|Memory Leaks]] ==
====[[Broker_help\dll_function_rpcbpropset|RPCBPropSet]]  ====
+
= Developer Utilities  =
=== Guidelines for C++  ===
+
==[[Broker_help\IDH_brokprogpref|RPC Broker Programmer Preferences]]  ==
====[[Broker_help\dll_cpp_intro|Overview]]  ====
+
= Tutorial  =
====[[Broker_help\dll_cpp_methods|TRPCBroker C++ Class Methods]]  ====
+
==[[Broker_help\tut_intro| Introduction]]  ==
====[[Broker_help\dll_cpp_init|Initialize the Class]]  ====
+
==[[Broker_help\tut_prep| Advanced Preparation]]  ==
====[[Broker_help\dll_cpp_create|Create Broker Instances]]  ====
+
==[[Broker_help\tut_step1|Step  1: Create Application with an RPC Broker Component]]  ==
====[[Broker_help\dll_cpp_connect|Connect to the Server]]  ====
+
==[[Broker_help\tut_step2|Step  2: Get Server/Port]]  ==
====[[Broker_help\dll_cpp_execute|Execute RPCs]]  ====
+
==[[Broker_help\tut_step3|Step  3: Establish Broker Connection]]  ==
====[[Broker_help\dll_cpp_destroy|Destroy Broker Instances]]  ====
+
==[[Broker_help\tut_step4|Step  4: RPC Routine to List Terminal Types]]  ==
=== Guidelines for C  ===
+
==[[Broker_help\tut_step5|Step  5: RPC to List Terminal Types]]  ==
====[[Broker_help\dll_c_intro|Overview]]  ====
+
==[[Broker_help\tut_step6|Step  6: Call the ZxxxTT LIST RPC]] ==
====[[Broker_help\dll_c_init|Initialize—LoadLibrary and GetProcAddress]]  ====
+
==[[Broker_help\tut_step7|Step  7: Associate IENs]]  ==
====[[Broker_help\dll_c_create|Create Broker Components]]  ====
+
==[[Broker_help\tut_step8|Step  8: Routine to Retrieve Terminal Types]] ===
====[[Broker_help\dll_c_connect|Connect to the Server]]  ====
+
==[[Broker_help\tut_step9|Step  9: RPC to Retrieve Terminal Types]]  ==
====[[Broker_help\dll_c_execute|Execute RPCs]]  ====
+
==[[Broker_help\tut_step10|Step 10: Call Zxxx RETRIEVE RPC]] ==
====[[Broker_help\dll_c_destroy|Destroy Broker Components]]  ====
+
==[[Broker_help\tut_register| Step 11: Register RPCs]]  ==
=== Guidelines for Visual Basic  ===
+
==[[Broker_help\tut_fmdc|See Also: FileMan Delphi Components (FMDC)]]  ==
====[[Broker_help\dll_vb_intro|Overview]]  ====
+
==[[Broker_help\tut_pascal|Tutorial Source Code]]  ==
====[[Broker_help\dll_vb_init|Initialize]]  ====
+
= DLL Interface  =
====[[Broker_help\dll_vb_create|Create Broker Components]]  ====
+
==[[Broker_help\dll_intro|Introduction]] ==
====[[Broker_help\dll_vb_connect|Connect to the Server]]  ====
+
==  DLL Special Issues  ==
====[[Broker_help\dll_vb_execute|Execute RPCs]]  ====
+
===[[Broker_help\dll_results|RPC Results from DLL Calls]]  ===
====[[Broker_help\dll_vb_destroy|Destroy Broker Components]]  ====
+
===[[Broker_help\dll_getserverinfo|GetServerInfo Function and the DLL]]  ===
 +
== DLL Exported Functions  ==
 +
===[[Broker_help\dll_function_rpcbcall|RPCBCall]]  ===
 +
===[[Broker_help\dll_function_rpcbcreate|RPCBCreate]]  ===
 +
===[[Broker_help\dll_function_rpcbcreatecontext|RPCBCreateContext]] ===
 +
===[[Broker_help\dll_function_rpcbfree|RPCBFree]]  ===
 +
===[[Broker_help\dll_function_rpcbmultitemget|RPCBMultItemGet]]  ===
 +
===[[Broker_help\dll_function_rpcbmultpropget|RPCBMultPropGet]]  ===
 +
===[[Broker_help\dll_function_rpcbmultset|RPCBMultSet]]  ===
 +
===[[Broker_help\dll_function_rpcbmultsortedset|RPCBMultSortedSet]]  ===
 +
===[[Broker_help\dll_function_rpcbParamGet|RPCBParamGet]]  ===
 +
===[[Broker_help\dll_function_rpcbParamSet|RPCBParamSet]]  ===
 +
===[[Broker_help\dll_function_rpcbpropget|RPCBPropGet]]  ===
 +
===[[Broker_help\dll_function_rpcbpropset|RPCBPropSet]]  ===
 +
== Guidelines for C++  ==
 +
===[[Broker_help\dll_cpp_intro|Overview]]  ===
 +
===[[Broker_help\dll_cpp_methods|TRPCBroker C++ Class Methods]]  ===
 +
===[[Broker_help\dll_cpp_init|Initialize the Class]]  ===
 +
===[[Broker_help\dll_cpp_create|Create Broker Instances]]  ===
 +
===[[Broker_help\dll_cpp_connect|Connect to the Server]]  ===
 +
===[[Broker_help\dll_cpp_execute|Execute RPCs]]  ===
 +
===[[Broker_help\dll_cpp_destroy|Destroy Broker Instances]]  ===
 +
== Guidelines for C  ==
 +
===[[Broker_help\dll_c_intro|Overview]]  ===
 +
===[[Broker_help\dll_c_init|Initialize—LoadLibrary and GetProcAddress]]  ===
 +
===[[Broker_help\dll_c_create|Create Broker Components]]  ===
 +
===[[Broker_help\dll_c_connect|Connect to the Server]]  ===
 +
===[[Broker_help\dll_c_execute|Execute RPCs]]  ===
 +
===[[Broker_help\dll_c_destroy|Destroy Broker Components]]  ===
 +
== Guidelines for Visual Basic  ==
 +
===[[Broker_help\dll_vb_intro|Overview]]  ===
 +
===[[Broker_help\dll_vb_init|Initialize]]  ===
 +
===[[Broker_help\dll_vb_create|Create Broker Components]]  ===
 +
===[[Broker_help\dll_vb_connect|Connect to the Server]]  ===
 +
===[[Broker_help\dll_vb_execute|Execute RPCs]]  ===
 +
===[[Broker_help\dll_vb_destroy|Destroy Broker Components]]  ===

Latest revision as of 18:41, 21 December 2010

This is a conversion of the Broker.hlp file to mediawiki format using the helpdeco converter program converted to vistapedia.net by Ignacio Valdes of Astronaut, LLC The original formatting such as Table of Contents linking and screen shots is not present.
Base broker.hlp>main
Title RPC Broker Developer's Guide

RPC Broker V. 1.1 Developer's Guide

Contents

Overview

Introduction

The RPC Broker is a client/server system within VA's Veterans Health Information Systems and Technology Architecture (VISTA) environment. It enables client applications to communicate and exchange data with M Servers.

This manual describes the development features of the RPC Broker. The emphasis is on using the RPC Broker in conjunction with Borland's Delphi software. However, the RPC Broker supports other development environments.

This manual provides a complete reference for development with the RPC Broker. For an overview of development with the RPC Broker component, see the "RPC Broker V. 1.1 Getting Started with the Broker Development Kit" manual.

This document is intended for the VISTA development community and Information Resource Management (IRM) staff. A wider audience of technical personnel engaged in operating and maintaining the Department of Veterans Affairs (VA) software might also find it useful as a reference.

Broker Overview

For the latest RPC Broker product information, please refer to the RPC Broker Home Page on the web at: http://vista.med.va.gov/broker/index.html.


Orientation

About this Version of the RPC Broker

This version of the Broker provides programmers with the capability to develop new VISTA client/server software using the Broker Delphi component (i.e., TRPCBroker) in the 32-bit environment.

What's New in the BDK

What’s New Through May 2002?

Support for Delphi V. 6.0

As of Patch XWB*1.1*13, the BDK supports Delphi V. 6.0.


Developer Considerations

Application Issues

Silent Login

Context-sensitive Help for the TRPCBroker Component

RPC Broker Components and Classes

TRPCBroker Component

New TRPCBroker Component Properties

As of Patch XWB*1.1*13, the following properties are new with this version of the RPC Broker:

  • Property
  • CurrentContext (Public)
  • KerneLogIn (Published)
  • LogIn (Public)
  • OnRPCBFailure (Public)
  • RPCBError (Public)
  • ShowErrorMsgs (Published)
  • User (Public)

TXWBRichEdit Component

TMult Class

TParamRecord Class

TParams Class

TVistaLogin Class

TVistaUser Class

EBrokerError Exception

Units

Hash Unit

LoginFrm Unit

MFunStr Unit

RPCConf1 Unit

RpcSLogin Unit

SplVista Unit

TRPCB Unit

TVCEdit Unit

Remote Procedure Calls (RPCs)

Overview

What Makes a Good RPC?

Creating RPCs

Using an Existing M API

M Entry Point for an RPC

Relationship Between an M Entry Point and an RPC

First Input Parameter

Return Value Types

Input Parameters

Examples

RPC Entry in the Remote Procedure File

RPC Entry in the Remote Procedure File

RPC Version in the Remote Procedure File

Blocking an RPC in the Remote Procedure File

Cleanup after RPC Execution

Documenting RPCs

Executing RPCs from Clients

How to Execute an RPC from a Client

RPC Security: How to Register an RPC

RPC Limits

BrokerExample Online Code Example

Other RPC Broker APIs

Overview

Encryption Functions

GetServerInfo Function

M Emulation Functions

VistA Splash Screen Procedures

$$BROKER^XWBLIB

$$RTRNFMT^XWBLIB

XWB ARE RPCS AVAILABLE

XWB IS RPC AVAILABLE

XWB GET VARIABLE VALUE RPC

Running RPCs on a Remote Server

Options For Running RPCs on a Remote Server

Checking RPC Availability on a Remote Server

XWB DIRECT RPC

XWB REMOTE RPC

XWB REMOTE STATUS CHECK

XWB REMOTE GETDATA

XWB REMOTE CLEAR

Deferred RPCs

Overview of Deferred RPCs

XWB DEFERRED RPC

XWB DEFERRED STATUS

XWB DEFERRED GETDATA

XWB DEFERRED CLEAR

XWB DEFERRED CLEARALL

Debugging and Troubleshooting

Overview

How to Debug Your Application

RPC Error Trapping

Identifying the Listener Process on the Server

Identifying the Handler Process on the Server

Testing Your RPC Broker Connection

Client Timeout and Buffer Clearing

Memory Leaks

Developer Utilities

RPC Broker Programmer Preferences

Tutorial

Introduction

Advanced Preparation

Step 1: Create Application with an RPC Broker Component

Step 2: Get Server/Port

Step 3: Establish Broker Connection

Step 4: RPC Routine to List Terminal Types

Step 5: RPC to List Terminal Types

Step 6: Call the ZxxxTT LIST RPC

Step 7: Associate IENs

Step 8: Routine to Retrieve Terminal Types =

Step 9: RPC to Retrieve Terminal Types

Step 10: Call Zxxx RETRIEVE RPC

Step 11: Register RPCs

See Also: FileMan Delphi Components (FMDC)

Tutorial Source Code

DLL Interface

Introduction

DLL Special Issues

RPC Results from DLL Calls

GetServerInfo Function and the DLL

DLL Exported Functions

RPCBCall

RPCBCreate

RPCBCreateContext

RPCBFree

RPCBMultItemGet

RPCBMultPropGet

RPCBMultSet

RPCBMultSortedSet

RPCBParamGet

RPCBParamSet

RPCBPropGet

RPCBPropSet

Guidelines for C++

Overview

TRPCBroker C++ Class Methods

Initialize the Class

Create Broker Instances

Connect to the Server

Execute RPCs

Destroy Broker Instances

Guidelines for C

Overview

Initialize—LoadLibrary and GetProcAddress

Create Broker Components

Connect to the Server

Execute RPCs

Destroy Broker Components

Guidelines for Visual Basic

Overview

Initialize

Create Broker Components

Connect to the Server

Execute RPCs

Destroy Broker Components