[comp.os.msdos.programmer] TCXL problems

ath@prosys.se (Anders Thulin) (01/01/91)

In article <ECOLLINS.90Dec31161659@sandia.nmsu.edu> ecollins@nmsu.edu (Edward Collins) writes:
>
>I dowloaded TCXL551.ZIP from WSMR the other day and was able to build
>the demo with turbo c/c++.  The include file shows up missing because
>of a typing error in the demo( i assume ). 

The file I miss is <_TcxlVid.h>. It is used in the demo, and for all I
know the file should be there, because the reference manual references
it as well. But I'll try without the underscore.

>Although I didn't spend much time with it, the package looks like a
>very complete text based toolkit with support for windows, menus, ems,
>mouse, string handling, etc.  I don't remember seeing any support for
>graphics mode.

It seems rather complete, and it could probably be updated to be even
better.  I'm begining to find it a bit irritating, though. It only seldom
provides a mechanism for doing things, but rather a policy of how to
do it: Help window titles can only be "Help", window borders can only
be 5 standard types, menus can't be made to work after the MOTIF Style
Guide, etc.

Most of these things are probably easy to fix once you have the source
code, though.

The documentation doesn't look too good either. There's much of it,
but it isn't complete, nor easy to use, mostly due to lack of an
index.  Take the menu package.  There is no description in the
reference manual of what the MNU_xxx flags to the MnuEnd(), or the
ITM_xxx flags to the MnuItm() call do. I could only find a short
comment in the include file, which wasn't much help. Guessing often
works, though. The problems begin whan you can't guess...

Again, I suppose source code is necessary to use it.

In all fairness, though, TCXL 5.5 is probably in transition. It has
changed since CXL 5.2, and several bugs have been fixed.  I suspect it
will be a lot better when it has stabilized a bit more.

-- 
Anders Thulin       ath@prosys.se   {uunet,mcsun}!sunic!prosys!ath
Telesoft Europe AB, Teknikringen 2B, S-583 30 Linkoping, Sweden

tcs@mailer.jhuapl.edu (Carl Schelin) (01/02/91)

In article <694@helios.prosys.se>, ath@prosys.se (Anders Thulin) says:
>
>In article <ECOLLINS.90Dec31161659@sandia.nmsu.edu> ecollins@nmsu.edu (Edward Collins) writes:
>>
>>I dowloaded TCXL551.ZIP from WSMR the other day and was able to build
>>the demo with turbo c/c++.  The include file shows up missing because
>>of a typing error in the demo( i assume ). 
>

     < Much Deleted >

>Again, I suppose source code is necessary to use it.
>
>In all fairness, though, TCXL 5.5 is probably in transition. It has
>changed since CXL 5.2, and several bugs have been fixed.  I suspect it
>will be a lot better when it has stabilized a bit more.
>
>-- 
>Anders Thulin       ath@prosys.se   {uunet,mcsun}!sunic!prosys!ath
>Telesoft Europe AB, Teknikringen 2B, S-583 30 Linkoping, Sweden

I contacted the mirror site and downloaded tcxl551.zip. 

There are quite a few additional functions and they all seem to do
the job quite well.

I particularly like the new SelStr function. The old one worked fine, but
you were not able to scroll through the entries (or at least, I never 
needed to before and do now). Now it creates a window and allows 
you to scroll, pgup, pgdn, etc. It really fits into the current project.

My biggest problem is they have changed the format of some of the 
functions and added all kinds of new stuff. It's really kind of confusing.
I suppose that I'll get it working and like it as he says in the docs.

I think the 5.51 package was intended for the old users of cxl.

And by demo, I was talking about the way he distributed it. Mike
assured registration by sending out only the small version and if
you needed the larger version, you needed to register. 

All in all, I think it will still do the job.

Carl Schelin
tcs@mailer.jhuapl.edu

greg@turbo.atl.ga.us (Greg Montgomery) (01/04/91)

ath@prosys.se (Anders Thulin) writes:

> The file I miss is <_TcxlVid.h>. It is used in the demo, and for all I
> know the file should be there, because the reference manual references
> it as well. But I'll try without the underscore.
 It should be in there. It's in the registered distribution, and I have
 no idea why it shouldn't be in the shareware distribution.

> It seems rather complete, and it could probably be updated to be even
> better.  I'm begining to find it a bit irritating, though. It only seldom
> provides a mechanism for doing things, but rather a policy of how to
> do it: Help window titles can only be "Help", window borders can only
> be 5 standard types, menus can't be made to work after the MOTIF Style
> Guide, etc.
> 
> Most of these things are probably easy to fix once you have the source
> code, though.

 True. The source is commented well, and is overall well-written.

> The documentation doesn't look too good either. There's much of it,
> but it isn't complete, nor easy to use, mostly due to lack of an
> index.  Take the menu package.  There is no description in the
> reference manual of what the MNU_xxx flags to the MnuEnd(), or the
> ITM_xxx flags to the MnuItm() call do. I could only find a short
> comment in the include file, which wasn't much help. Guessing often
> works, though. The problems begin whan you can't guess...

 Check the appendixes. Those defines should be in Appendix C. Most of the
 stuff is fairly self-explanatory. MNU_VER - vertical menu, ITM_PUL -
 pull-down menu attached. There are also examples in the tcxldemo.c
 source code.

> 
> In all fairness, though, TCXL 5.5 is probably in transition. It has
> changed since CXL 5.2, and several bugs have been fixed.  I suspect it
> will be a lot better when it has stabilized a bit more.
> 
> -- 
> Anders Thulin       ath@prosys.se   {uunet,mcsun}!sunic!prosys!ath
> Telesoft Europe AB, Teknikringen 2B, S-583 30 Linkoping, Sweden

 I believe 6.0 is in the works. v5.52 will be out soon, and they are
 working on porting it. I have yet to find a better library package for
 the price...

----
Greg Montgomery | Montgomery Consultants, Inc. | Atlanta, Georgia, U.S.A
Internet: greg@turbo.atl.ga.us                 | Home of the '96
UUCP: {rutgers,ogcise,gatech}!emory!turbo!greg | Olympics!

ath@prosys.se (Anders Thulin) (01/05/91)

In article <X5Z8u3w163w@turbo.atl.ga.us> greg@turbo.atl.ga.us writes:
>ath@prosys.se (Anders Thulin) writes:
>> The file I miss is <_TcxlVid.h>. [ ... ]
> It should be in there. It's in the registered distribution, and I have
> no idea why it shouldn't be in the shareware distribution.

There are a few odd things about the SIMTEL copy. The TCXL-LIB.EXE is
called TCXL_L.EXE and has a different date than the other files. Perhaps
the uploader repacked the distribution and missed a few things. 

>> The documentation doesn't look too good either. There's much of it,
>> but it isn't complete, nor easy to use, mostly due to lack of an
>> index. [ ... ]

> Check the appendixes. Those defines should be in Appendix C. Most of the
> stuff is fairly self-explanatory. MNU_VER - vertical menu, ITM_PUL -
> pull-down menu attached. There are also examples in the tcxldemo.c
> source code.

Yes, those were easy - just get everything into Emacs and search for
it. But what about the omnidirectional menus and the MNU_DSP flags?
No examples, no documentation anywhere . Experimenting is one way of
finding things out, but I've learnt to spend my time better.

There was a comment in the reference manual that examples weren't
included, as they would bloat the manual and make it worthless as an
evaluation tool. Strange reasoning. 

Perhaps I'm overreacting. I am still wedded to the idea that shareware
packages should be treated just as any ordinary commercial offering, and
be judged on the same terms. Documentation is one of them.

> I believe 6.0 is in the works. v5.52 will be out soon, and they are
> working on porting it. I have yet to find a better library package for
> the price...

Well, I sort of agree. I believe the library package is decent. But
I spend too much time hunting for information, some of which isn't
even there. As I'm willing to pay for documentation, I'm going to
use another library for now. But I will certainly be interested in how
TCXL evolves. That note about event-controlled UI's seems promising ...

-- 
Anders Thulin       ath@prosys.se   {uunet,mcsun}!sunic!prosys!ath
Telesoft Europe AB, Teknikringen 2B, S-583 30 Linkoping, Sweden

tcs@mailer.jhuapl.edu (Carl Schelin) (01/07/91)

In article <698@helios.prosys.se>, ath@prosys.se (Anders Thulin) says:
>
>In article <X5Z8u3w163w@turbo.atl.ga.us> greg@turbo.atl.ga.us writes:
>>ath@prosys.se (Anders Thulin) writes:

     <bunch of stuff deleted>

>Well, I sort of agree. I believe the library package is decent. But
>I spend too much time hunting for information, some of which isn't
>even there. As I'm willing to pay for documentation, I'm going to
>use another library for now. But I will certainly be interested in how
>TCXL evolves. That note about event-controlled UI's seems promising ...
>
>-- 
>Anders Thulin       ath@prosys.se   {uunet,mcsun}!sunic!prosys!ath
>Telesoft Europe AB, Teknikringen 2B, S-583 30 Linkoping, Sweden

More comments...

I registered CXL at 5.0 and I really got my money's worth out of it.
Had I been evaluating TCXL to see if I wanted to register it (based on
5.51) I wouldn't have done so.

Not being a "professional" C programmer, there are things that I'm having
a hard time with. 

He is using loads and loads of #defines throughout the library. He wants
me to use ChrP for char *, NOARG for void, CTyp for something I still
haven't figured out yet. Virtually every (what do you call them?) int, char
char *, far etc are redefined and he says that I will like them better after
I use them. 

&*($@ he changed the fill_() function to use some sort of struct union
something or other. I can't seem to get it to work. I assume that it's 
something like the first 4 bits are the row and the last 4 bits are the
column, but I can't get them built correctly. It references VposT which
I can't seem to figure out (it's in TCXL-USE.txt if you wish to look and
explain). There are other functions that use this type of variable. 

Jeeze, I really got a headache on Friday when I was trying to figure it
out.

I know, I know, bitch bitch bitch. "Why do you use it if you don't like it?"

It's still a great package. There are loads of functions that I will use and
some of the functions have been expanded upon. I will probably never 
use the full capability of the library now. It seems like he's trying to 
write professional librarys for hobby programmers (IMHO). Although,
how many professional programmers out there will want to change
their programming style just to use these functions???

Carl Schelin
tcs@mailer.jhuapl.edu