I have passed an object supporting IOTAThreadNotifier to
IOTAThread.AddNotifier(..);
The I called IOTAThread.Evalute which returned erDeferred because
I had a function call in the expression, but the methods of the
IOTAThreadNotifier object passed to AddNotifier object
never trigger to signal that evalution has completed.
Does the callback depend on Windows Messages or is this
a call from another thread? I have tried waiting for the
thread to complete by looping a for a loop with a Sleep
command, but nothing happened.
Is this a known issue?
Thanks!
Atmapuri
Last time I tested, I think I just looped calling Application.ProcessMessages
and waited for TOTAEvaluateResult.EvaluateCompleted to change, but that was
around the Delphi 6/7 era. I don't remember it taking any longer than the
watch/evaluate dialogs take to evaluate variables. I don't remember testing
Sleep. I think the IDE's evaluation method call has to be done in the
context of another thread sometimes, which is the reason erDeferred exists -
so it can swap context and return the result to you.
Erik