Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
'$lib
#1
Hi!

Anybody knows where to find library that allows to link other libraries directly from QB IDE?
Reply
#2
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.
Reply
#3
check out link.exe in the same directory bc.exe is. it smushes libraries together for that multiple-library effect Smile
i]"I know what you're thinking. Did he fire six shots or only five? Well, to tell you the truth, in all this excitement, I've kinda lost track myself. But being as this is a .44 Magnum ... you've got to ask yourself one question: 'Do I feel lucky?' Well, do ya punk?"[/i] - Dirty Harry
Reply
#4
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!
Reply
#5
hahahaha!!!!!

Plasma357!!! Be proud of your creation. agravein: PM Lith on how to do that. ;*)

I lost my copy. ;*(
y smiley is 24 bit.
[Image: anya2.jpg]

Genso's Junkyard:
http://rel.betterwebber.com/
Reply
#6
What do you mean?
Reply
#7
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:

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.
Reply
#8
I was waiting for that. ;*)
y smiley is 24 bit.
[Image: anya2.jpg]

Genso's Junkyard:
http://rel.betterwebber.com/
Reply
#9
Cool prog. I'll include it to my site collection next update.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)