#TDI Modula II
8 messages in this thread
Since when is an IntuiMessagePrt not compatable with what
WaitPort(mywindow^.UserPort) returns? I hate TDI . Is OXXI Better? or Do I have
to give up on the amiga and go back to MS-Dos where I can get a real Pascal and
Modula-2 Compilers?
Tim…Do you mean IntuiMessagePtr (Ptr instead of Prt)? In which case, you
would use if you opened an IDCMP for a window, and used that windows userport,
then it would return a IntuiMessagePtr with a call to GetMsg. Could you put the
code you are using in a message, and perhaps one of us could help.
As to which is better, in most ways, BenchMark is. It follows more what
C libraries are, and so matches documentation better. It has a much better
editor, better SimpleLibraries, the C librariy filesect. The linker is super
fast, and in general is a better system to work with. The only thing I like
better about TDI's is that there compiler optimize's the code for size, and so
small programs are smaller when compiled under TDI; And the fact that a BOOLEAN
in an IF statement that is a constant, and is false, will NOT generate ANY
code, while BenchMark will generate code (See pg 22 of TSI's manual.)
I have both the commercial version of TDI's and The pre-release version
of Benchmark, and almost exclusivelu use benchamrk. Also, I think that Leon
(the writer of Benchmark) is working on the two things I mentioned above, and
hopefully a later release will include these.
Hope this helps some,
Jim Vogel
The "WaitPort" procedure is declared to return a "MessagePtr". The IDCMP
messages are a type that is an extension to the basic Amiga Exec message. So,
the pointers to the two types are not compatible. TDI compiler hasn't been too
strict about enforcing some of these type restrictions. What version are you
using? Anyway, there is a very easy way to get the assigment to work, just use
type transfer. here is how it's done:
IntuiPtr := IntuitionMessagePtr (WaitPort(wp^.UserPort))
or, another way:
IntuiPtr := ADDRESS (WaitPort(wp^.UserPort));
Hope this helps……Richie
I second Jim's assessment. Benchmark is a rocket ship. Resultant
code size is larger, yes, but you get a programming environment that
surpasses Borland's Turbo Pascal. Well worth the trade off. If you
need to get a commerical package out the door go ahead and port to TDI
for more compact code after the job is done. Not too tough, I think.
Getting thoroughly debugged library modules alone makes the switch
worthwhile. Tons of example code. Solid docs. Source to the library
modules is NOT available. But it looks like TDI provided it so their
customers could do TDI's job for them.
One drawback. There are certain, ah, politics involved. The author
had a falling out with his distributor, Oxxi. Both parties will sell
you the package. I purchased from Oxxi before the schism. Now it's
probably safest to go with the author. — Art
Interesting. According to a message left by the author immediately after the
split, _no_one_, especially Oxxi, has permission to distribute Benchmark. I
wonder if the situation has changed; if so, the author should have informed us.
Rick
to prevent a long winded discussion about this, Leon(the author) also requested
that this matter not be discussed openly in the forum. Rich…I know you know
that, but dont want anyone to accidently start a thread on this.
Jim Vogel
Leon can often be found hanging out in CO 18 or CO 2 on Saturday evenings. If
you have questions/comments about Benchmark, I'm sure he'd be more than happy
to answer them.
Absolutely, Jim, and I thought long and hard about that before posting the
message. I merely wanted to point out that, if this is indeed still the case,
potential buyers would be well recommended to stay away from Oxxi and purchase
directly from Leon, in case there might be future problems between them.
Rick