Dec 132017
 
TurboPower Software's patches for its products to compile with Borland Pascal 7.0.
File BP7UPG.ZIP from The Programmer’s Corner in
Category Pascal Source Code
TurboPower Software’s patches for its products to compile with Borland Pascal 7.0.
File Name File Size Zip Size Zip Type
BP7PAT.TXT 5315 1929 deflated
BP7UPG.TXT 4541 2063 deflated

Download File BP7UPG.ZIP Here

Contents of the BP7PAT.TXT file


Source Patches for TP7/BP7 Compatibility
----------------------------------------

Use this patch list to quickly update your TurboPower products for
compatibility with Turbo Pascal 7.0 or Borland Pascal 7.0 in DOS real
mode or Windows mode. These patches do not enable protected mode
operation. The note after each product name indicates the range of
versions for which the patches are valid.

Turbo Professional (5.10-5.12)
------------------------------
Add the following lines at the bottom of TPDEFINE.INC:

{$IFDEF Ver70}
{$DEFINE Heap6}
{$I-,P-,T-,X-}
{$IFDEF Dpmi}
!! Not compatible with PMode
{$ENDIF}
{$ENDIF}

Object Professional (1.10-1.14)
-------------------------------
Add the following lines at the bottom of OPDEFINE.INC:

{$IFDEF Ver70}
{$DEFINE Heap6}
{$I-,P-,T-,X-}
{$IFDEF Dpmi}
!! Not compatible with PMode
{$ENDIF}
{$ENDIF}

If you will be using BP7 (as opposed to TP7), you must make the
following changes. 'Library' is now a reserved word in BP7, and it
conflicts with the Library object in the OPROOT unit. You must
replace all instances of 'Library' with 'OpLibrary' in the following
files.

Unit files:
OPROOT.PAS, OPROOT.IN1
Demo programs:
MSUTIL.PAS, MSUTIL.IN1, MSMAIN.PAS,
MSMAIN.IN1, MMMAIN.PAS, MMMAIN.IN1,
MAKEMISC.PAS
Example and bonus programs:
EXPRNLIB.PAS, EXLIB.PAS, OPLINFO.PAS,
ENTRYL.PAS, LIBSIZE.PAS

Note that OPROOT cannot be compiled with BP7 or TP7 when full
debug info {$D+,L+} is turned on (you will receive a 'Too many
symbols' error message from the compiler). If you frequently
compile with debugging info turned on, you may want to add
{$D-} to the top of OPROOT.PAS.

Async Professional (1.00-1.04)
------------------------------
Add the following lines at the bottom of APDEFINE.INC:

{$IFDEF Ver70}
{$DEFINE Heap6}
{$I-,P-,T-,X-}
{$IFDEF Dpmi}
!! Not compatible with PMode
{$ENDIF}
{$ENDIF}

B-Tree Filer (5.21-5.23)
------------------------
Add the following lines at the bottom of BTDEFINE.INC:

{$IFDEF Ver70}
{$DEFINE Heap6}
{$I-,P-,T-,X-}
{$IFDEF Dpmi}
!! Not compatible with PMode
{$ENDIF}
{$ENDIF}

Make a similar change to TPALLOC.PAS just after the conditional
block that checks for Ver60 near the top of the file.

TSRs Made Easy (1.00-1.01)
--------------------------
Add the following lines at the bottom of OPDEFINE.INC:

{$IFDEF Ver70}
{$DEFINE Heap6}
{$I-,P-,T-,X-}
{$IFDEF Dpmi}
!! Not compatible with PMode
{$ENDIF}
{$ENDIF}

Win/Sys Library (1.00)
----------------------
Add the following lines at the bottom of WSDEFINE.INC:

{$IFDEF Ver70}
{$IFDEF UseWinSysDLL}
{$K+}
{$ENDIF}
{$ENDIF}

When Win/Sys is used as a DLL in BP7, it does not automatically
call MakeProcInstance for user hook routines such as the
WSSORT Less function. You must include WSDEFINE.INC in
your application or define $K+ yourself in order for this to work.
The remaining changes are caused by the reorganization of the
ObjectWindows Library units in BP7. These changes affect only
the uses statements of the units and demo programs that use the
wObjects or StdDlgs units. In the following files, replace 'wObjects'
with 'Objects':
WSLIST.PAS, EXLIST.PAS, EXSLIST.PAS, EXPSTACK.PAS

In the following files, replace 'wObjects' with 'Objects, OWindows':
WSDUMP.PAS, ERRORDEM.PAS, SHOWLDT.PAS

In the following files, replace 'wObjects' with 'Objects, OWindows,
ODialogs':
WSLLBOX.PAS, WSCAL.PAS, CALDEMO.PAS, TEXTSORT.PAS, TEXTFIND.PAS

In the following files, replace 'StdDlgs' with 'OStdDlgs':
SHOWLDT.PAS, TEXTFIND.PAS

Internal changes to the BP7 SYSTEM unit require corresponding
changes to WSERRHAN.PAS. Find procedure Handler and add the
following marked lines:

call RTLHelper
{$IFDEF Ver70} {!!.01}
mov ax,cx {!!.01}
{$ENDIF} {!!.01}
jmp dword ptr SystemContinue

Then find procedure Initialize and add the following marked
lines:

SystemContinue := SystemHandler;
{$IFDEF Ver70} {!!.01}
Inc(Word(SystemContinue), 5); {!!.01}
{$ELSE} {!!.01}
Inc(Word(SystemContinue), 11);
{$ENDIF} {!!.01}
Alias := AllocCSToDSAlias(OS(SystemHandler).S);

Data Entry Workshop (1.00)
--------------------------
In the uses statements for all PAS files and MAKESRC template
(TEM) files for Pascal, change all instances of 'wObjects' to
'Objects, OWindows, ODialogs' and all instances of 'StdDlgs' to
'OStdDlgs'.

In EXMETER.PAS change the declaration for OurApplication.IdleAction
to:
function IdleAction : Boolean; virtual;

Change the implementation of OurApplication.IdleAction to:
function OurApplication.IdleAction : Boolean;
begin
if Percent < 100 then begin
...
IdleAction := True;
end
else
IdleAction := False;
end;

And in OurApplication.MessageLoop, change the call to
IdleAction to:
else if not IdleAction then
WaitMessage;


TurboPower Software
P.O. Box 49009
Colorado Springs, CO 80949-9009

Support: (719) 260-6641
Sales: (800) 333-4160
Int'l Sales: (719) 260-9136
Fax: (719) 260-7151


 December 13, 2017  Add comments

Leave a Reply