CONTENTS: Readme and intro to TPack 2.04, 6/1/95

AUDIENCE: Delphi programmers and dedicated component users.
SYNOPSIS: Outlines ideas, scope and contents of package of
          32 delphi components with full source code.

CAVEAT:   While BRIEF DESCRIPTIONS OF THE COMPONENTS ARE IN REGPACK.PAS
          You must read through the pascal code to get all the details.

STEP ONE: Install 'REGTPACK.PAS' into your favorite library.
DO NOT:   Do not save changes to tPack forms until it's installed.
ALSO:     Open and compile tpDLL.dpr to make a dll out of the about box.


SHAREWARE: This program is released with the restriction that you must
           register your copy when you use this code for profit or in
           business. You can use Mail or CompuServe SWREG ID#5906 to
           register your copy. If you are a consultant you can wait till
           you actually get paid, but as an employee you really ought to
           be square and get the extra docs and code instead of studying
           and documenting everything yourself. There are Icons too!
           You'll be able to use the code in up to 50 copies of any app
           you write; contact me for other arrangements.


REGISTRATION: When registering, please specify an e-mail address for delivery.
              Compuserve Users should use SWREG# 5906.  The price is $123.



Hi, tPack started as an attempt to share answers to common delphi questions and
has now grown into a little more ambitious project. I have an indexed help file
and more code and additional components lined up to sell you on this code.

Primarily though, I'm publishing the enclosed components with hopes that perhaps
there are some dedicated hackers out there who will produce more sophisticated
components using some of the techniques demonstrated in here. Delphi has made it
possible for me to code really exciting stuff without making compromises and I
think it's done right and I want it to succeed.

So, on the one hand, please dig in and enjoy the code, on the other hand, please
register if you wind up using it. My Tech support may come in handy some time, as
should the icons, code and additional components that implement:

       *   A Page/Group aware component to print reports from any datasource in
           any order. Uses Panels to define what you print visually and can print BMPs.

       *   A MainMenu descendant (with descendant to show doing inheritance) that
           implements a menu component that has default choices and reactions.


Ok, but back to tPack. tPack consists of about 190k of source with some 10 forms
and implements 32 components and numerous additional types. Read through REGTPACK.PAS
to find out more about the individual units and components, but overall tPack should
give you many ideas about how to turn something into a component that you can reuse.

There's been a good deal of interest in the toolbar and creating components at design
and run-time and i will make a better demo of it eventually. For now, make a note to
see how the COMPONENT EXTENSIONS are used in the 'TWindowsShell' component:

  if (fFlags*[shlMsgTillReady,shlMsgTillDone])<>[] then begin  {it needs to show a message}

    cx.MakeIfNil(fWorking,TWorkingMsg);
                           {so it makes a working component if none has been linked before}
    fWorking.BusyOn;       {either way, show the message.}
    end;


This nifty bit of trickery can help you to link any number of components at run OR design
time and will initialize or update them as required. Check out the interface section and
allow me to send you the code and to keep you up to date with other stuff I come up with.

Meanwhile, While I do this work for a living and know pascal from the 6809,
I hope there are no really bad problems with this code and that you will let me
in on anything you could improve and how and why you'd do it.

If I like it, it's in. We are constantly expanding, consolidating and improving
 our delphi code-base and release updates and corrections as they become available.
Registered users can expect 12..36hr email question turnaround time most weeks.

READ: Bruce Webster's 'PitFalls of Object Oriented Development'.
 I've stepped into most of his traps and think it's the most relevant
book any object designer could read.


Thanks you for registering;

Best Regards,
Michael Ax



Comments/Thoughts/Code of interest  71560,1754.

Beta/N.D. Ok.




{---------------------------------------------------------------------}
I already have copious notes about what I will do to evolve some of
the components included here:

The Next revision should:
  correct every bug reported by users.
  use pStrings everywhere, elimating some remaining strings and zstrings.
  use Readonly property editors rather than 'SetNoString' type procs
  use resources for strings and graphics

Other packages that might make it:

  The Datasource reporter outlined above.

  A 8 layer descendant of TTAble incorporating journaling, add/edit
  delete logging, purge, rollback and multi-site/notebook  support.
  SQL tested and in production use.

  Numerous database integrated dialogs and smart lists that build
  menus and userinterfaces on the fly. Sortof like an application
  shell, done not with an expert but rather by having components link
  and tango with each other as they start.

  ( ^^ does it make sense now that I'm looking for help? If you
    can return phonecalls and show up on time, I need an apprentice.
    Short of that I'll need people's registrations to publish more.)

{---------------------------------------------------------------------}
5/31 revisions and swreg id
5/16 lots of changes and many new pieces. added invoice!
4/11 Rzlabel bug/reference removed; Added TiniFileLink w demo page
      removed graphics from splash screen to make dfm much smaller.
4/10 Initial release

{---------------------------------------------------------------------}

Last but not least, here is the disclaimer for TPack 2.0  5/16/95:

THESE COMPONENTS ARE DELIVERED AS IS. THERE IS NO REASON TO THINK THAT
THEY SHOULD NOT WORK AS CLAIMED, BUT JUST IN CASE, LET ME DISCLAIM THAT
THEY DO ANYTHING BUT TAKE UP SPACE ON YOUR DISK. NEITHER MICHAEL AX NOR
AX-SYSTEMS CAN OR SHOULD BE HELD LIABLE IF YOU LOOSE TIME, MONEY, PRESTIGE
FOR EVEN KNOWING ABOUT THIS CODE MUCH LESS RUNNING IT. EVERYTHING IN HERE
IS EITHER MY OWN IDEA OR COPYRIGHTED BY BORLAND OR SOMEONE I DID MY BEST TO
IDENTIFY. YOU DO NOT OWN THESE IDEAS. YOU MUST UNDERSTAND THAT YOU CAN LOOSE
SERIOUS AMOUNTS OF TIME WHEN MESSING AROUND WITH COMPONENTS. USE AT YOUR OWN
RISK. FIGURE IT OUT. SMILE. HAVE FUN. GOOD CODE COMES FROM WRITING BAD CODE.

{---------------------------------------------------------------------}
COPYRIGHT: (C)'1995 Michael/Ax-Systems.
  (Authors.. please recognize this and give credit when due. thanks.)
