home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Boston 2
/
boston-2.iso
/
DOS
/
PROGRAM
/
BASIC
/
POWBASIC
/
LIBRARY1
/
EXAMP2.ZIP
/
PB050290
< prev
next >
Wrap
Text File
|
1990-05-02
|
18KB
|
462 lines
all
H#: 42252 S12/SPECTRA Publishing
28-Apr-90 16:16:56
Sb: DOS 3.2 vs 2.11 Fixed
Fm: John Carter 72236,154
To: Bob Zale
Bob,
When PB2.0b(4.90) didn't fix my problem, I had to go look for 'real' bugs. It
seems that DOS 3.2 is more forgiving than DOS 2.11.
I had a path building subroutine that appended the final "\" and the
appropriate wildcards to the data directory path. I recently changed the main
program to add the "\" there. However, I failed to change the subroutine that
also added the final "\". A path name of "c:\path\\file.ext" works for the DOS
findfirst and findnext calls from PB in DOS 3.2, but not in DOS 2.11. I made
the one character change in the subroutine and now the code works under either
version of DOS.
Thanks for your help. John
Press <CR> for next or type CHOICES !
H#: 42496 S12/SPECTRA Publishing
30-Apr-90 07:11:55
Sb: #PB & Paradox Engine
Fm: Tim Schreiner 74017,2570
To: Barry Erick
Barry,
Is it possible to use or link PowerBASIC with 'Turbo C' routines to
utilize Borland's new Paradox Engine ? I have some data entry applications
built in Paradox, but Paradox is too slow to accomplish most of the other
things I need to do. It would be ideal if I could use some of the existing
app's, and blend them with low-level access and the SPEED of PowerBASIC.
Otherwise, I have need a for database toolbox that will handle file/record
locking on a network. (maybe someone has modified Borland's ?)
Thanks, --Tim
There are 3 Replies.
Press <CR> for next or type CHOICES !
H#: 42607 S12/SPECTRA Publishing
30-Apr-90 16:16:36
Sb: #42496-PB & Paradox Engine
Fm: Barry Erick for Spectra 75300,214
To: Tim Schreiner 74017,2570 (X)
Tim,
I do not thing tc code can be imported into PB for the linking. A small
model's obj 'may' be linkable.. but I do not think it ends correcty. I have not
tried it to find out.. This one is really for Bob to answer..
--- Barry
Press <CR> for next or type CHOICES !
H#: 42677 S12/SPECTRA Publishing
30-Apr-90 20:54:49
Sb: #42496-#PB & Paradox Engine
Fm: Bob Zale: PowerBASIC R&D 76304,1303
To: Tim Schreiner 74017,2570 (X)
Tim--
Due to the difference in calling conventions, I'm a little dubious about
getting that code to work without quite a bit of conversion. We plan to look
into it closely, very soon, and we'll post our "results" here just as soon as
we can. How about Novell's BTRIEVE package? Won't that work for you? We have
a very simple interface already running and posted in our library. If not, let
me know. We'll do our best to help you find something that fits your needs.
Bob Zale
There is 1 Reply.
Press <CR> for next or type CHOICES !
H#: 42774 S12/SPECTRA Publishing
01-May-90 09:38:52
Sb: #42677-#PB & Paradox Engine
Fm: Mike Burns 71551,1353
To: Bob Zale: PowerBASIC R&D 76304,1303 (X)
Bob,
The primary problem in using C code with PB is the use of
C standard libraries. If you use any C standard function
(scanf, fseek, atan, etc.) You will need to extract those
routines from the c library and link them also. If those
use additional functions, then they also need to be extracted
and linked.
Mike
There is 1 Reply.
Press <CR> for next or type CHOICES !
H#: 42858 S12/SPECTRA Publishing
01-May-90 17:12:42
Sb: #42774-PB & Paradox Engine
Fm: Tim Schreiner 74017,2570
To: Mike Burns 71551,1353 (X)
Barry & Bob,
Thanks for the quick reply. I was a little afraid that it may not work with the
'C' library, more because of the differences in the way the stack is handled.
Mike also pointed out that the 'C' libraries would need to be linked as well. I
may be barking up the wrong tree on this one. I don't care for the Btrieve, as
it stores the indexes and data in the same file, and may prove ddifficult to
recover in the event of a crash. I like to keep the data separate so that you
can re-build the indexes if they get 'dirty'. I will d/l the interface file you
described for a look. --Tim
Press <CR> for next or type CHOICES !
H#: 42978 S12/SPECTRA Publishing
02-May-90 03:26:34
Sb: #42496-#PB & Paradox Engine
Fm: Michael Sawczyn 72245,1721
To: Tim Schreiner 74017,2570
Tim,
Boy does that sound familiar. I wrote a massive Paradox application that took
45 minutes to run, and had our Estimating department at my throat. Rewrote it
in PB and it zips in 3-4 seconds.
To get around the file/record locking thing on our Novel network, I opened the
data files, found the data I was looking for, and closed the file. Around each
OPEN statement I put an "ON ERROR GOTO ERRORTRAP" and "ON ERROR GOTO 0"
statement, so that if, in the short time needed to find the file someone else
has it open, it'll just wait and retry. ERRORTRAP: was nothing more than a
RESUME. I saved the pointer for the record number so that, when rewriting the
data, it just had to open, write, and close.
--Michael
There is 1 Reply.
Press <CR> for next or type CHOICES !
H#: 42983 S12/SPECTRA Publishing
02-May-90 04:49:16
Sb: #42978-PB & Paradox Engine
Fm: Barry Erick for Spectra 75300,214
To: Michael Sawczyn 72245,1721
45 minutes! Yikes. Sounds like a mainframe....
--- Barry
Press <CR> for next or type CHOICES !
H#: 42500 S12/SPECTRA Publishing
30-Apr-90 07:36:57
Sb: #TB v. PB compilation
Fm: Rodney Jones 73237,3114
To: Bob Zale 76304,1303 (X)
I received v2.00b in Thursday's post and I have already spent a lot of time
trying it out. I am very impressed with the PowerBASIC compiler's efficiency
with small programs, but am having a lot of trouble with one reasonably large
program in particular. The program is 5654 lines (and about 5040 statements)
long. The identical code was used throughout. The comparison that follows is
for a Toshiba T5100 running DOS 3.3, with no TSRs loaded and maximum memory
(608 832 bytes) free.
TB 120 k free 27 seconds EXE size = 201985
PB 10 k free 60 seconds EXE size = 219537 (reduced to 218353 by $LIB-)
PBC 100 k free 51 seconds EXE size = 219537
I am very surprised that PB and PBC are so much slower than TB and leave so
much less memory free. However, what really disturbs me is that the EXE file
is so much larger. (For all of my smaller programs, the EXE file has been
significantly smaller.) Am I doing something wrong, or shall I send the ZIPped
source and data files (about 400 k, I guess) to you?
Another question: What is expanded (EMS) memory used for in PB 2.00b? When I
run PB without loading EMM.SYS I have about 10k more memory left after
compiling a program than when EMM.SYS is active.
Another problem: Occasionally, the number of lines of code reported in pass 1
of the compilation differs (by a few lines, e.g. 5630 and 5624) from that
reported in pass 2.
There are 2 Replies.
Press <CR> for next or type CHOICES !
H#: 42608 S12/SPECTRA Publishing
30-Apr-90 16:16:43
Sb: #42500-TB v. PB compilation
Fm: Barry Erick for Spectra 75300,214
To: Rodney Jones 73237,3114 (X)
Rodney,
PB uses error checks as the default, while TB didn't. This is in the options
and can be turned off in pb to match and better tb. Or slow down tb's compile
and increase the file size by turning them on.
Turning this off will decrease the file size of PB. When you tweak its
settings, PB will most definately beat TB.
----- Barry
Press <CR> for next or type CHOICES !
H#: 42676 S12/SPECTRA Publishing
30-Apr-90 20:50:22
Sb: #42500-TB v. PB compilation
Fm: Bob Zale: PowerBASIC R&D 76304,1303
To: Rodney Jones 73237,3114 (X)
Rodney--
The results you mention certainly are different from what we've been seeing
in our tests, but I sure don't want to "dismiss" them. Whether it's a problem
in something you're doing, or a problem in the compiler, I'd sure like to see
what's causing the difference. Unfortunately, without the source, there's
little I can do without being able to reproduce the symptoms. As the size is
probably bigger than the Compuserve file limit, I'll e-mail you my mailing
address, and I hope you can get the source code to us as quickly as possible.
The current version of PB uses up to 64k of EMS to store source code only.
This is great if you have the EMS "window" above 640k, but if the driver uses
64k of your 640k, you're bound to lose some capacity. Our next version will
make extensive use of EMS, for practically unlimited program size.
Bob Zale (PowerBASIC R&D)
Press <CR> for next or type CHOICES !
H#: 42733 S12/SPECTRA Publishing
01-May-90 06:35:57
Sb: #MicroStar and PB
Fm: Phil Ihrig 74000,3020
To: PB Tech Support
What is the format of PBC.CFG? Can it be created with the IDE? Does
PBC.CFG offer any capability not available by using a batch file containing the
appropriate switches?
What is the meaning of the command line compiler error message "Too many
filenames!"? What other error messages are likely to occur using PBC?
I am attempting to compile the TB Editor Toolbox MicroStar program with PB
and suspect it may have to be converted to units. My understanding is that all
SHARED variables in the subroutines have to be declared PUBLIC in the main
program and declared EXTERNAL in the subroutines. Should I leave the SHARED
declarations in the subroutines? Would all of the MS subroutines have to be
made PUBLIC (and DECLARED in the main program)?
After changing the variable names that conflict with PB, each of the
present INCLUDE files would then be compiled to a unit and the $INCLUDE
"filename" statements in the main program would be replaced with $LINK
"filename". If this is not the general approach to doing this please let me
know. If anyone has already done this or has other ideas about how to convert
MicroStar to PB I would appreciate hearing about it.
How does the size of a PB program (.exe file) change when the program is
created by linking units rather than by a single compilation of all of the PB
source?
There is 1 Reply.
Press <CR> for next or type CHOICES !
H#: 42832 S12/SPECTRA Publishing
01-May-90 15:18:56
Sb: #42733-#MicroStar and PB
Fm: Barry Erick for Spectra 75300,214
To: Phil Ihrig 74000,3020 (X)
Phil,
First, the PBC.CFG is not the same as the one for pb made by the ide. The
commands in it are the same that you would use from the command line to run
PBC. My entries only show the directories, but you should get the idea from my
PBC.CFG:
-dusd:\pb\pbus
-dudd:\pb\pbud
-did:\pb\inc
This shows my default Unit Source directory is d:\pbus, my default Unit
Destination directory is d:\pb\pbud and my default include directory is
d:\pb\inc.
The cr at the end of each line is not necessary; you can make it look just
like the command line would following the filename.
Too many filenames means you left off the delimiter.. the - or / below:
PBC MyFile ce would produce too many filenames, but I meant to use:
PBC MyFile -Ce or
PBC MyFile /Ce
A space is not a valis switch identifier, and only the one filename is legal.
any other word on the line without being preceeded with a switch indicator - or
/ will produce the error.
More in the next message.
[More]
There are 2 Replies.
Press <CR> for next or type CHOICES !
H#: 42833 S12/SPECTRA Publishing
01-May-90 15:19:12
Sb: #42832-MicroStar and PB
Fm: Barry Erick for Spectra 75300,214
To: Barry Erick for Spectra 75300,214 (X)
[Continued]
Shared can stay in the subs, but is not necessary. Also, some of th inline
routines have to be changed, and you'll find that info in the Toolfix.zip file.
While the file is for the database, the rouines are used in both.
Also, note that moving thes to units change one thing... you cannot use FN
functions in units... All FN functiosn have to change to true FUNCTIONS. All
subroutines _can_ be made public, or you can search all over to see who calls
who and make the decision as to which ones would be used outside the units.
However, for the microstar, I think you can leave it as INC files and get away
with only changes to the inline routines. I have not tried it, tho.
Also, you may want to get LisVar.zip from library. It goes throu the unit
source and makes a file that changes all EXTERNALS to PUBLIC variables for easy
inclusion in the main.
You are correct about changing the $Include to $link. I usually keep an
include and let the new include to the linking. This allows the include to
carry all PUBLICS and also (unnecessary) Declare statements so the contents of
the PBU is readilly known. Also, any external routines have to be Declared in
each units source code before you can make the pbu.
And the size of the program does drop a little, but the memory needed to
compile drops signifigantly.
--- Barry
Press <CR> for next or type CHOICES !
H#: 42920 S12/SPECTRA Publishing
01-May-90 20:32:24
Sb: #42832-#MicroStar and PB
Fm: Phil Ihrig 74000,3020
To: Barry Erick for Spectra 75300,214 (X)
Barry,
Thanks for the answers regarding PBC. I am using the following configuration
for PBC. Are there any options that would give me more compiler space.
ce dec:\atw dic:\pb;c:\tbe eb-/en-/eo-/ep-/eslc-/le-/lg-/lp-/ls-/lvomc=8/omm=8
Using PBC, MicroStar runs out of compilation space with this configuration. The
thought of changine MicroStar to use PBUs is not pleasant. Do I understand you
correctly that DECLARE statements for the subroutines in the PBUs are not
needed?
Phil
There is 1 Reply.
Press <CR> for next or type CHOICES !
H#: 42982 S12/SPECTRA Publishing
02-May-90 04:49:11
Sb: #42920-#MicroStar and PB
Fm: Barry Erick for Spectra 75300,214
To: Phil Ihrig 74000,3020 (X)
Phil,
Does that compile line really work? I see things that would (or should) give
"Too many filenames" error in that no switch (- or /) is infront of many
options.
Anyway, you can drop the comm buffer to 0 to get a little more space, and the
best way is by making a few modules units. that brings in bunches of memory at
times.. depends on many things.. Converting to a unit is not too bad at all...
it can be done real fast, infact. Usually, do an overkill and bring all shared
up with Ctrl QA and changed the shared to External, run ListVars and stick them
in the main.. Place PUBLIC after any routine not used only locally, or do it
for all them... Then, To know exactly what needs to be declared, just compile
to Unit... you'll be told if any declareds were missed. Each Unit _does_ need
declares for any routine external to it. You do not need to declare routines
outside the unit, however.
The biggest problem you may get, unless you use listvars to get the public
variables, is not matching a PUBLIC for every external... It is ok to have more
Publics than matching Exterals, but it is not ok to leave a External dangling.
--- Barry
There is 1 Reply.
Press <CR> for next or type CHOICES !
H#: 43014 S12/SPECTRA Publishing
02-May-90 07:03:48
Sb: #42982-MicroStar and PB
Fm: Phil Ihrig 74000,3020
To: Barry Erick for Spectra 75300,214
Barry,
You're right about the compile line as it showed up in the message. I forgot
to indent the lines and some characters got lost when the message was posted.
Thanks for outlining your approach to converting to units. I will jump in and
try to get MS converted. Another application built around the TB Editor
Toolbox works well in PB and demonstrates that the toolbox fixes are okay.
Phil
Press <CR> for next or type CHOICES !
H#: 42781 S12/SPECTRA Publishing
01-May-90 10:55:08
Sb: What am I doing wrong?
Fm: Robert N. Barrett 76530,1452
To: 76304,1303 (X)
Bob, I'm having trouble getting a program to work with the new Btrieve
interface. I have uploaded the source and sent it to you via E-plex. You'll
need PKZ version 1.10 to unzip it. The program is fairly simple, but it
doesn't run as a stand-alone program. However, it does run in the IDE if you
step through it. Robert
Press <CR> for next or type CHOICES !
H#: 42782 S12/SPECTRA Publishing
01-May-90 11:02:34
Sb: What am I/Oops!
Fm: Robert N. Barrett 76530,1452
To: 76304,1303 (X)
BOB!!!!!!
I left off one line of code in the sample I sent to you. You need to add
the following near the beginning:
dim Junk%(288), vislet$(15), visdes$(15)
I was trying to clean up the program before I sent it to you and I
deleted one too many lines. By the way, I am using 2.00b with the
3/30 patch applied.
Robert
Press <CR> for next or type CHOICES !
H#: 42998 S12/SPECTRA Publishing
02-May-90 05:47:27
Sb: ACCESS.BOX TROUBLE
Fm: DOUG MILLER 73757,1300
To: 75300,214
BARRY I AM TRYING TO GET UP TO SPEED WITH PB I AM HAVING A PROGLEM COMPILING A
PROGRAM USING ACCESS.BOX I KEEP HIT AN ERROR DUPLICATE SUB WITH GETREC AND
CANNOT FIND ANY DUPLICATE AND THE CALL STACK PROCEDURE IN DEBUG I AM PROBABLY
NOT USING PROPLERLY
Press <CR> for next or type CHOICES !
HPC Vendor B ForumHSections Menu
Section names (#subjs/# msgs)
1 Quarterdeck (77/261)
2 Primavera Systems (1/1)
3 Korenthal Assocs. (5/26)
4 Personics Corp. (23/116)
6 TurboPower Software (31/215)
7 ChipSoft, Inc. (3/11)
8 DacEasy (23/52)
10 J.P. Software (29/134)
11 PDC Prolog (14/46)
12 SPECTRA Publishing (7/20)
HEnter choice(s) or ALL !