07-18-2003, 08:35 AM
07-18-2003, 09:03 AM
I'll translate that to: I want to use more than one library at once.
What you have to do if that is the correct translation, is get a nice utility called "Multilib", and make a joined library out of the two libs you want.
I'll explain more later, I'm in a hurry. If that's not what you want, sorry.
What you have to do if that is the correct translation, is get a nice utility called "Multilib", and make a joined library out of the two libs you want.
I'll explain more later, I'm in a hurry. If that's not what you want, sorry.
07-18-2003, 09:17 AM
check out link.exe in the same directory bc.exe is. it smushes libraries together for that multiple-library effect
07-21-2003, 08:44 AM
Look at CAI3 first lines:
DEFINT A-Z
'$DYNAMIC
'$INCLUDE: 'cai3.bi'
'$INCLUDE: 'gslib.bi'
'$INCLUDE: 'ds4qb2.bi'
'$bas: 'Battle.bas'
'$bas: 'Support1.bas'
'$bas: 'Ds4qb2.bas'
'$lib: 'Cai3.lib'
'$end_meta
Somehow author included library and modules directly from QB! I think it's new (and very useful) lib, but i can't find it. I searched in inet with no results. Maybe somebody knows? This thingy is must_have for QB programmer!
DEFINT A-Z
'$DYNAMIC
'$INCLUDE: 'cai3.bi'
'$INCLUDE: 'gslib.bi'
'$INCLUDE: 'ds4qb2.bi'
'$bas: 'Battle.bas'
'$bas: 'Support1.bas'
'$bas: 'Ds4qb2.bas'
'$lib: 'Cai3.lib'
'$end_meta
Somehow author included library and modules directly from QB! I think it's new (and very useful) lib, but i can't find it. I searched in inet with no results. Maybe somebody knows? This thingy is must_have for QB programmer!
07-21-2003, 09:07 AM
hahahaha!!!!!
Plasma357!!! Be proud of your creation. agravein: PM Lith on how to do that. ;*)
I lost my copy. ;*(
Plasma357!!! Be proud of your creation. agravein: PM Lith on how to do that. ;*)
I lost my copy. ;*(
07-30-2003, 01:17 PM
What do you mean?
07-30-2003, 07:12 PM
Those '$bas and '$lib lines in Lith's code are QBMCX metacommands. QBMCX is a "metacommand extender" that I made a while ago...basically it preprocesses your code, then compiles and links it according to the metacommands you use:
You can't use it from the QB IDE, but you can use it directly from the command line, or from a customizable IDE like MED.
Unfortunately my site is non-existant at the moment, but you can download QBMCX from Lith's site.
In the next version I'm planning on adding inline asm support, as well as support for other QB compilers besides 4.5.
Code:
Basic
-----
$bas: 'filename.ext' Compile and link with this BAS file
$obj: 'filename.ext' Link with this OBJ file
$lib: 'filename.ext' Link with this LIB file
$run: 'filename.ext' Run this program before running the main program
$run_after: 'filename.ext' Run this program after running the main program
$end_meta Stop looking for metacommands/macros
(all metas/macros past this will be ignored)
Options
-------
$stack: n Set the stack size to n
$seg: n Set the number of LINK segments to n (also $segments)
$com_buffer: n Set the com buffer size to n
$huge Enable huge (>64K) array support (also $ah)
$on_error Enable ON ERROR/RESUME n trapping
$resume_next Enable ON ERROR/RESUME 0|NEXT trapping
$row_major Store arrays in row major order
$event Enable event handlers ON PLAY, ON PEN, ON TIMER, etc.
$obj_string Store strings in the object table instead of the symbol table
$hi_end High end of segment (also $high_end)
$no_string_pack Don't pack the strings in the EXE
$code_pack Pack the code
$data_pack Pack the data
$hi Load as high in memory as possible
(also $high, $load_hi, $load_high)
$near Use near calls if possible
Stub Files
----------
$no_com Disable com support (links to NOCOM.OBJ stub)
$no_emu Disable FPemu support (links to NOEM.OBJ stub)
$small_err Use short error messages (links to SMALLERR.OBJ stub)
Debugging
---------
$debug Enable CTRL+BREAK
$no_cls Doesn't clear the screen before program(s) are run
$pause Pauses after running BC and LINK (for debugging purposes)
$pause_all Pauses between every program, including BC and LINK
(for debugging purposes)
$save_temp Doesn't delete temporary files
(all OBJs created from compiling)
$del_exe Deletes the exe after it is run (also $delete_exe)
Macros
------
There are two macros included with QBMCX, the __TIME__ AND __DATE__ macro.
To use them, insert either __TIME__ or __DATE__ anywhere in your program.
When QBMCX encounters this, it will be replaced with either the current time
or current date. (Note that macros *are* case sensitive!)
For example: PRINT "Compiled on __DATE__ at __TIME__"
__TIME__ Insert the time file processing started (=compile time)
__DATE__ Insert the date file processing started (=compile date)
There are 3 metacommands which control the output of macros:
$format_time Format the time inserted with the __TIME__ macro
(14:23:34 becomes 2:23 pm)
$format_date Format the date inserted with the __DATE__ macro
(12/07/2001 becomes December 7, 2001)
$end_meta Stop looking for metacommands/macros
(all metas/macros past this will be ignored)
You can't use it from the QB IDE, but you can use it directly from the command line, or from a customizable IDE like MED.
Unfortunately my site is non-existant at the moment, but you can download QBMCX from Lith's site.
In the next version I'm planning on adding inline asm support, as well as support for other QB compilers besides 4.5.
08-01-2003, 11:00 AM
I was waiting for that. ;*)
08-06-2003, 02:50 PM
Cool prog. I'll include it to my site collection next update.