I am getting the following unhelpful error in 10.2B:
You cannot edit row when BindingSource is not bound to a DataSource.
That's it. Just the naked text with an "ok" button. No indication of where it is being generated from. I did not get this error when the very same code was run under 10.2A.
Any ideas what I might want to be looking for?
It's a known bug. It should be fixed in the next release/service pack.
Looks like a workaround is to create a query on the (temp-) table (if you're already doing so, and you're still seeing the bug, contact TS).
-- peter
If I knew which table it was I'd do that
Start with the one that's being set as the binding source's handle.
-- peter
And how, pray tell, do I determine which one that is? This message is a
bit lacking in such diagnostic tidbits... I don't even know which
procedure (or class) generates it. (And there are many to choose from.)
Client log-file with 4GLTrace?
chuimonster wrote:
And how, pray tell, do I determine which one that is? This message is a
bit lacking in such diagnostic tidbits... I don't even know which
procedure (or class) generates it. (And there are many to choose from.)
If the error is catchable - and I don't know whether it is, given the 'nakedness' - and if you've used the routine-level directive (which I believe you should but that's another thread altogether) everywhere, you could modify (or wrap) your start.p and attempt to catch the error.
/* invocation of app */
catch e as Progress.Lang.Error:
message e:CallStack.
end catch.
Make sure you run the session with -errorstack.
-- peter
It does not seem to be catchable that way.
It acts like an alert-box. The annoying message pops up and when you click "ok" it goes away. So far as I can tell everything seems to be otherwise working as expected.
That sounds like an interesting idea. What code should I insert and where?
chuimonster wrote:
That sounds like an interesting idea. What code should I insert and where?
You can do it from code via the LOG-MANAGER or the CLI via the equivalents (can't remember the exact names right now but they should be in the doc). Architect has a tab ("Logging") in the Launch Configurations that has a UI for selecting log types (I know you're a big GUI fan ).
-- peter
Ok, so I found the screen in OEA, enabled 4gl tracing, set the level to "extended", launched my program and waited for the message to appear. Now I'm looking at the bottom of the log file and I'm not seeing anything even remotely useful
...
[10/03/08@12:46:35.343-0500] P-002660 T-003700 3 4GL 4GLTRACE Return from clrField [ProTop.Forms.ProTopForm]
[10/03/08@12:46:35.343-0500] P-002660 T-003700 2 4GL 4GLTRACE Func do-alert "con_trx 0" [checkNumValue - ProTop.Forms.ProTopForm @ 382]
[10/03/08@12:46:35.343-0500] P-002660 T-003700 3 4GL 4GLTRACE Return from do-alert "no " [ProTop.Forms.ProTopForm]
[10/03/08@12:46:35.343-0500] P-002660 T-003700 2 4GL 4GLTRACE Invoke clrField "7738 " [checkNumValue - ProTop.Forms.ProTopForm @ 383]
[10/03/08@12:46:35.343-0500] P-002660 T-003700 3 4GL 4GLTRACE Return from clrField [ProTop.Forms.ProTopForm]
[10/03/08@12:46:35.343-0500] P-002660 T-003700 2 4GL 4GLTRACE Func do-alert "con_block 0" [checkNumValue - ProTop.Forms.ProTopForm @ 382]
[10/03/08@12:46:35.343-0500] P-002660 T-003700 2 4GL 4GLTRACE Func dec-compare "0 0 >" [do-alert - lib/protoplib.p @ 836]
[10/03/08@12:46:35.343-0500] P-002660 T-003700 3 4GL 4GLTRACE Return from dec-compare "no" [lib/protoplib.p]
[10/03/08@12:46:35.343-0500] P-002660 T-003700 3 4GL 4GLTRACE Return from do-alert "no " [ProTop.Forms.ProTopForm]
[10/03/08@12:46:35.343-0500] P-002660 T-003700 2 4GL 4GLTRACE Invoke clrField "7743 " [checkNumValue - ProTop.Forms.ProTopForm @ 383]
[10/03/08@12:46:35.343-0500] P-002660 T-003700 3 4GL 4GLTRACE Return from clrField [ProTop.Forms.ProTopForm]
Are you using the -debugalert startup parameter and you don't see a Help button on the alert box?
Unless I messed up, adding -debugalert does not provide a "help" button.
--
Tom Bascom
+1 603 396 4886
tom@greenfieldtech.com
http://greenfieldtech.com
you can use
SESSION:DEBUG-ALERT = TRUE.