BPCOMPAT v1.10 -released!_(re)

Thu, 23 Oct 1997 11:29:35 +0100


Frank Heckenbach wrote:
> 
> Some minor comments:
> 
> Unit system:
> 
> The type declarations (especially string=bpstring with -D_Borland_Pascal_
> should be in system.pas itself (or $included) rather than in a separate unit
> (gpctypes.pas) so that programs that use only system will see them.

Yes, I had wondered about merging GPCTYPES with SYSTEM. I agree
that 
they should be merged.

> My suggestion: remove the "{$W-}". Doing so will reveal a little bug in BinEof
> (a "=" used instead of ":="), 

Ooops! ;-/

> and a lot of problem in FillChar and Move
> (which are not really portable, anyway). Until a (more optimized) version
> of them will be built in, here are some replacements (a bit slower, but
> should be portable and generate no warnings):

Okay thanks. I have replaced the current versions with your
version.

> For the other type declarations, I suggest you use the more modern GPC integer
> types (as invented some months ago), rather than the old style __modifiers__.
> (Also for real types.)

Frankly, I am totally lost as far as that is concerned. Is there
any authoritative list of all the numerical types?

> With -D_Borland_16_Bit_, also redeclare Integer to be a 16 bit type,
> otherwise it'll probably confuse some BP programs.

Done!

> Procedures assgined to procedural variables can be in the main program now,
> so you can remove this comment for ExitProc.

I am still having some problems with this.

> I think it's not a good idea to declare BP variables like ErrorAddr that are
> not implemented in GPC. I'd prefer a compile time error when porting a BP
> program using them rather than possible unexpected problems at runtime.

Fair enough. I have commented most of them out.

> Assign is built-in now, so you can remove it from system.pas.

Done. Does it now cater for all file types?

> Str, Val, Insert and Delete will be soon... :-), perhaps also Pos, Copy,
> ParamCount, ParamStr, Int and Frac.

Great!

> Unit Dos:
> 
> SearchRec, FindFirst, FindNext and GetEnv are not really BP compatible
> (also note the difference between SearchRec and TSearchRec in BP).

Basically, DOS is a beast of a unit to implement - especially the
Findxxx functions. There are still problems with a "DIR" listing
using these functions if there are .EXE files in the list. There
are all sorts of other problems as well. I don't think it will
ever be portable. I have given up on the DOS unit. If someone
else wants to do it, please feel free!

> SwapVectors should be declared as an empty procedure.

Done!

> Unit Printer:
> 
> can be written now (at least for DJGPP).

Done!

Thanks for the comments, suggestions, and code snippets!

Best regards, The Chief
--------
Dr. Abimbola A. Olowofoyeku (The African Chief) 
Email: laa12@keele.ac.uk
Author of: Chief's Installer Pro 4.01 for Win16 and Win32: 
  Winner of PC PLUS Magazine Gold Award (April 1995 U.K. edition)
  http://ourworld.compuserve.com/homepages/African_Chief/
 
ftp://ftp.demon.co.uk/pub/ibmpc/win3/apps/chief/pro/chief401.zip


The African Chief (laa12@keele.ac.uk)

HTML conversion by Lluís de Yzaguirre i Maura
Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza@upf.es