Bible Illustrator for Windows README.TXT File
Version 1.0d
April 1995

This "readme" file contains up-to-date information that
was not available at the time that the User's Guide was
printed, or information that is subject to change.
Information on the following topics is included.

Contents
--------

TOPIC 1: VSAFE
TOPIC 2: Compatibility with QuickVerse.
TOPIC 3: File corruption
TOPIC 4: Features not covered in Users Guide.
TOPIC 5: DDE technical reference.
TOPIC 6: Installing to a compressed drive.



****************************************************************
TOPIC 1: VSAFE
****************************************************************

If you received this error message during installation:

	"VSAFE (or CPAV) will prevent this installation. Please 
	 consult your README.TXT for instructions."
	 
the error was caused by a conflict with the memory resident
virus protection programs CPAV (Central Point AntiVirus) or
VSAFE, the virus protection program that comes with DOS 6.0. 

Since Bible Illustrator for Windows disks are write protected and
virus free, you should disable (remove from memory) your virus 
protection program before installing. To do this, follow the
instructions in your virus program manual or do one of the
following:

a.  Temporarily rename the AUTOEXEC.BAT, restart your computer,
and install Bible Illustrator for Windows. Rename the AUTOEXEC.BAT
when the installation is complete.

b.  REMARK the lines from your AUTOEXEC.BAT that are 
related to the virus program. Restart your computer, and 
install Bible Illustrator for Windows. Remove the remark statements
after installing Bible Illustrator for Windows. (See your DOS manual
for instructions on the remark command.)



****************************************************************
TOPIC 2: Compatibility with QuickVerse.
****************************************************************

The Bible Illustrator for Windows is compatible with QuickVerse
for Windows version 1.0k or higher.

To search Bible Illustrator from QuickVerse, however, you need
QuickVerse for Windows version 3.0c or higher.



****************************************************************
TOPIC 3: File corruption
****************************************************************

In the event you exit Bible Illustrator for Windows in a 
nontraditional manner (for example, if you experience lightning 
or a power outage while the program is running), you may 
experience a message indicating some files need rebuilding.
In most every case, simply by pressing Enter or clicking OK will
successfully rebuild the files and the program will run as before.



****************************************************************
TOPIC 4: Features not covered in Users Guide.
****************************************************************

Several feature were added to the Bible Illustrator for Windows
after the Users Guide went to the printers.

a.	During a Bible Illustrator session, your previous search
is displayed in the Search Dialog box.  If you wish to start over
with a new search, click the Clear Fields button.

b. 	For Bible Reference searches or searches on the text
portion of the card, the matching word or Bible reference in the
text will be highlighted when viewing cards tagged by the search
and you are Viewing only Tagged cards.



****************************************************************
TOPIC 5: DDE technical reference.
****************************************************************

INTRODUCTION TO DDE
-------------------

Dynamic Data Exchange (DDE) is a method whereby two 
applications can communicate with one another using a 
standardized format.  This communication takes place as 
applications send messages to each other to initiate 
conversations, to request and share data, and to terminate 
conversations. 

The WM_DDE_INITIATE and corresponding WM_DDE_ACK message must 
be sent using the SendMessage() API.  All other DDE messages 
Are issued using the PostMessage() API. 

The PostMessage calling format is as shown.

    PostMessage(hRecipient, Message, wParam, lParam);

where

    HRecipient - the window handle who receives the message 
    Message    - a DDE message to be sent 
    wParam     - for DDE message, this is generally the 
                 handle to the window that sent the message
    lParam     - additional message-specific arguments 

Atoms, which are WORD values that refer to character strings 
in a case-insensitive manner, play a very important role in 
DDE communication. Atoms are used for the DDE application 
(the server application name), topic (topic supported by the 
DDE server application) and item strings (data item within 
each topic supported by the DDE server application). 
Applications using these atoms must explicitly delete them to 
purge them from the atom list.  In all cases, the sender of a 
message must delete any atom that the intended receiver will 
not receive due to an error condition, such as failure of the 
PostMessage() function. 

In addition, the data structures that are transferred from 
one Windows program to another must be allocated using 
GlobalAlloc() with GMEM_DDESHARE option.  This allows the 
global memory block to be shared among multiple Windows 
programs. 

For more information about the DDE, please refer to Chapter 
17 of Petzold's "Programming Windows 2nd edition" and Chapter 
15 of Microsoft Windows SDK manual, volume 2. 

GENERAL METHODOLOGY
-------------------

Bible Illustrator for Windows for Windows supports COLD DDE links.  
Cold links allow information to be passed from one application 
to another without any additional updating being required or 
requested.  

Warm links and hot links are not supported.

The Bible Illustrator for Windows serves a DDE server and client.  
That is, it supplies information to other applications and 
requests information from other applications. 

A client application can use the WM_DDE_EXECUTE message to pass 
instructions to Bible Illustrator for Windows.  

----------------------------------------------------------------
DDE Server Specification
----------------------------------------------------------------

INTRODUCTION
------------
A DDE Server is an application that responds to DDE commands 
sent by another application. For example: when QuickVerse asks 
Bible Illustrator to search for the word "Jerusalem," Bible
Illustrator is the Server and QuickVerse s the client. This section
contains specific messages to which Bible Illustrator acting as a 
DDE Server responds.


DDE SPECIFICATION FOR WM_DDE_EXECUTE
------------------------------------

The WM_DDE_EXECUTE message is used to pass commands to 
Bible Illustrator for Windows.  Before using the WM_DDE_EXECUTE 
command, a DDE conversation must be initiated with an 
application of "BIWIN" and a topic of "Commands." 

In all cases, wParam of the WM_DDE_EXECUTE message is the 
handle to the DDE client window.  The low word of lParam is 
reserved.  The high word of lParam is the handle to global 
memory, allocated as GMEM_DDESHARE.  This global memory 
contains the item string, or the command string.  The client 
application should not assume that this memory will not be 
modified.  Bible Illustrator for Windows may modify this memory in 
response to specific command messages. 

The following commands are supported.

Command:        WM_DDE_EXECUTE
Application:    "Biwin"
Topic:          "Commands"
		

Item:  [Minimize]              

Minimize BIWIN. This command causes the whole         
Bible Illustrator application to be minimized, but does not         
activate it. 

Item:  [Activate]              

Activate BIWIN. This command causes Bible Illustrator to be 
activated.  If the application is minimized, it is also 
restored to normal size. 

Item:  [Show("search phrase")]

This command brings up the Search Dialog box with the 
topic field filled in with "search phrase".

Item:	[ShowVerseRefs("book ch:verse")]

Show all cards with references to a specific verse or 
range of verses. This command brings up the Search Dialog
box with the reference search field filled in.

Item:	[LoadProgVersion(hmem)]

This command causes BIWIN to load the string identified 
by the memory handle "hmem" with the version of BIWIN. 
hmem is converted from a string value into an unsigned 
integer (memory handle) with little error checking 
provided.  An error occurs if hmem is not a valid memory 
handle, or if the memory it references is not large 
enough to contain the version string.  The version string 
is something like "1.0c" where 1.0 is the major version 
number and the last letter is the minor revision letter.

Item:	[LoadSyntaxVersion(hmem)]

This command causes BIWIN to load the syntax version 
that it supports into the memory identified by "hmem."  
hmem is converted from a string value into an unsigned 
integer (memory handle) with little error checking 
provided.  An error occurs if hmem is not a valid memory 
handle.  The memory identified is loaded with an integer 
value (i.e. not a string representation of an integer) 
such as 1, 2, etc.

It is recommended that client applications use this 
command to determine if BIWIN supports the commands that 
the client supports.


Each command must be enclosed by brackets [ ] and each command 
may be separated by a space. Spaces with each command are not 
allowed, except in quoted strings. Parenthesis ( ) are used to 
begin and end the parameter list. 

BIWIN will respond to the WM_DDE_EXECUTE message with a 
WM_DDE_ACK message. The low word of lParam will contain the  
DDEACK structure. The fAck flag will be set to TRUE (non-zero) 
if the command string was completely executed.  fAck is set to 
FALSE (zero) if the command string was not executed. 



----------------------------------------------------------------
DDE Client Specification
----------------------------------------------------------------

INTRODUCTION
------------
A DDE Client is an application that sends comands to another 
application. For example: when BIWIN asks QuickVerse to display 
the "John 3:16," BIWIN is the Client and QuickVerse is the 
server. This section contains specific messaes that BIWIN 
acting as a DDE Client sends to QuickVerse and PC Bible Atlas.


SPECIFICATION FOR THE INTERFACE TO A BIBLE CONCORDANCE
------------------------------------------------------

A BIWIN user can choose the bible program that BIWIN 
interacts with.  While BIWIN is designed to be used with the
QuickVerse for Windows, any concordance that supports the 
following WM_DDE_EXECUTE commands may be used.

Application:    User defined
Topic name:     Verses

[Activate]                
[GoTo("Book ch:vs")]
[QuickSearch("word")]
[LoadSyntaxVersion(hmem)]   
[Translation("name")]
[RefSearch("Book ch:vs")]
[LoadCurrentTranslation(hmem)]

Refer to the DDE Specification for the QuickVerse for Windows 
for more detail regarding these specific commands.



****************************************************************
TOPIC 6: Installing to a compressed drive.
****************************************************************

The Bible Illustrator for Windows contains files that are compressed
to save disk space. If you are installing to a compressed drive and have
problems, it may be because you do not have enough free disk space. Free
disk space is only an estimated on a compressed drive and may not accurately
reflect how much disk space is available for compressed files.
