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: