A89: Re: Re: A Address book With Some Real Problems


[Prev][Next][Index][Thread]

A89: Re: Re: A Address book With Some Real Problems




Hi!

> And if the originator of that thread is still reading 
> this, it IS possible to hook into turning the calc on via
> replacing the event manager, although due to a glaring 
> mistake in the TI-GCC documentation, you're not gonna be
> able to figure out how to do it yourself (Zeljko: one of
> your event descriptions is completely wrong, giving you 
> two events with similar effects, one of which is completely
> wrong...

Nothing strange. The strange fact is that anything is correct,
because it is really hard to discover correct meaning of
events just by using VTI debugger and nothing more :-)

> But you're probably not even going to find it with that
> hint. I'm sorry, but I just can't reveal anymore.

Now there is a problem: as I just signed today a contract with
TI about alpha testing (so I expect to get their documentation
soon), I will not be able to correct this in the documentation
regardless whether I discover the error by myself, or by reading
their documentation ;-)

> But it's nice to see that Zeljko is human =)

What you expect that I am :-)

> To Zeljko again: actually, several of those are wrong. But some
> are "wronger" than others =)

I am happy because several of those are correct ;-)

> Will more experienced C coders please back me up on the importance
> of prototypes? It seems certain new programmers who I've told to 
> use prototypes grumpily added them, but don't believe me when I 
> state their importance.

Yes, prototypes are very very very important, but not so important
in Rob's code, because functions are called AFTER their definition:
in such situation, prototypes are really not necessary. Anyway, I
suggest putting (void) instead of () if the function does not have
arguments. These two declarations are not the same; in second
case, the compiler will accept ANY number of parameters (although
getting them may be a nightmare in such case).

> The static modifier should occur before the type (char), not after.
> This is a fundamental of the C syntax and no code doing it as you 
> are will ever compile.

"char static a;" is legal as well as "static char a;" in all C
compilers I ever seen. The order of variable attributes is not 
proposed in the standard. I used this trick once in tigcclib (don't
ask me why: it is a long story).

> "Magic numbers" - that is, hardcoded constants - are bad.  Try to
> replace some of these numbers with symbolic constants; that is, 
> #define'd values, like the occurance of "CENTER" in the call to 
> DialogDo.

Yes, but I don't think that ALL COORDINATES need to be #define's !?

> while(result!=0&&result!=9)
> Were you to fix up your syntax errors so that the code will actually
> run, you'd see that result will never be see to either of those 
> values when encountering this pretest, and thus the loop is infinite.

No: it is correct. "result" is changed in the loop as the result of
the execution of "PopupDo".

> Use a callback routine.  I'm not sure how much of that has been 
> documented, so I'll leave that to Zeljko to answer if he so chooses
> in order to avoid saying anything I shouldn't.  But you shouldn't 
> even be THINKING about doing this yet.

Callbacks are not so complicated to can not be explained to a
beginner: dialogs.h documents it well (yes, Scott, I know that I
surely missed something, but it seems what I wrote about it is correct).
The code (with callback) is given in my previous letter.

> Pat, Scott, Zeljko, et al: Go ahead, shoot me down. I dare ya. Fix 
> any glaring oversights and misinformation, and feel free to be as 
> rude and frank about it as you desire. It's the best way to learn =)

Of course. I just said what were necessary to be said about this
topic ;-)

Zeljko




Follow-Ups: