Register to post in forums, or Log in to your existing account
 

This forum is locked: you cannot post, reply to, or edit topics.  This topic is locked: you cannot edit posts or make replies.     Home » Forums » General zApp Discussion
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Tue Jun 29, 2004 5:37 pm   

Zeus 1.02 Problems
 
I'm going to do my best to help you here zugg...

I use outlook 2003, and I just ran the mailview.zml demo and got a plethora of microsoft scripting errors.

When I use JIT (Just in time debugging) I always got the same error:

Microsoft VBScript runtime error: Object required: 'MessageGrid.CurRow'

It then said the script was aborted because it exceed the timeout on some line (which i didnt take down this time)

MessageGrid.CurRow.Body = null



Looking at the dissasembly (or rather the script itself) it has this line highlighted:

core.Recalc("MessPanel")

This is probably not helping you much, it's hard to debug because JIT keeps popping up as does the timeout box.

For some reason (after i escape all these errors) it will populate EVERY folder except my inbox.

Here are some things that I may have different than other people in my outlook setup:

1) 3 Folders, 1 for my PErsonal Folder, 1 for my Archive and another for Hotmail (since outlook supports checking hotmail)

2) ALOT of email. I may have more email than you zugg, however it's so spread out throughout all the folder, that I dunno the total number anymore

3) Outlook 2003 (Yay for software from school)

I'll try to help as much as possible. But first some coffee.
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Tue Jun 29, 2004 5:38 pm   
 
After reading the other issue, it COULD have something to do with empty folder, however I can note that my inbox is not empty...at all.
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Tue Jun 29, 2004 5:42 pm   
 
Some more issues when clicking randomly around:

Microsoft VBScript runtime error: Type mismatch: 'MessageGrid.CurRow.Sender'

That was hit on MessageGrid_OnSelectCell
core.Recalc("MessPanel")

Can you tell me the best way to debug this by the way?
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Tue Jun 29, 2004 5:44 pm   
 
Figured 1 problem out.

My inbox has a subfolder, as do many other folders, it does not display messages in a folder, if it has subfolders.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue Jun 29, 2004 6:50 pm   
 
Hi Krule, thanks for helping out with this.

First, debugging this stuff is really hard. Many times you'll get a script error but the VBscript text displayed in the popup dialog in Zeus will be incorrect. That happens when Zeus is executing an event subroutine and doesn't have any way to report the correct script text being executed.

Using the JIT debugger for VBScript is probably the best way to debug this.

Yes, currently if a folder has subfolders, no messages in the folder are displayed. If you look at the script in the mailview.zml file, you'll see that to display new messages it is checking the status of the "HasChildren" property for the folder. it only displays messages when this is false (no subfolders). You might be able to easily modify the script to handle this correctly for your situation.

The other errors might be related to the empty folder bug, or might be something new. It will probably take more experimenting to find out.

So far, the worst part about the whole Zeus design is the poor ability for debugging. This is partly because of how Microsoft handles the scripting tool and the fact that the OnError event for the scripting control doesn't seem to return the actual script code that caused the error. Hopefully as I learn more about how this all works I'll be able to improve this in the future.
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Tue Jun 29, 2004 7:54 pm   
 
Ok..i'll play with that has children thing (I know absolutly nothing about this scripting language, however it looks like vb, so i should be ok)
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Tue Jun 29, 2004 7:58 pm   
 
Alright, well I still get JIT errors for all those various things, however by removing the if line that says

if not Param.Node.HasChildren then

As well as it's end if, I can see my inbox just fine.

I assume u did this to avoid trying to show mail in the top level folders (Personal Folder)
Reply with quote
bortaS
Magician


Joined: 10 Oct 2000
Posts: 320
Location: Springville, UT

PostPosted: Tue Jun 29, 2004 8:00 pm   
 
Zugg,

I had a VB6 application that used the MS Script control to make it scriptable. I found out by accident that I could debug the scripts by using the DebugCLR.exe program that comes with the .NET Framework SDK. I've only been able to use this debugger when an exception occurs. I haven't figured out how to attach the JIT debugger to a specific script yet. I haven't tried attaching the debugger to the whole app yet.

I use this debugger when I'm using SharpDevelop instead of the full blown VS IDE. I thought to pass on this tidbit. Wink.
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Wed Jun 30, 2004 10:58 pm   
 
Am I alone on these errors?
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Jul 01, 2004 12:53 am   
 
Basically what that error means is that when you select a message, the core.Recalc method is called to update the various fields in the email message panel (MessPanel), and the MessageGrid.CurRow object, which is supposed to contain an email message, instead is null. So, when it tries to get the Subject, or the Sender properties, you get an error message for each one of these fields.

I'm not sure why the MessageGrid.CurRow object is null.

Instead of randomly clicking, you might be a bit more specific about the exact procedure you are using and exactly what you are clicking on when you get the first error popup.

For example, when you first select a folder and the list of messages is displayed in the message grid, the first record in that grid becomes the CurRow.

What's really odd is that the MAPI message object for displaying the data in the grid is the same as the one used to display the message details in the MessPanel. So, for example, if the subject is properly displayed in the grid of messages, then it should also be properly displayed in the preview panel as well.

Then again, if the problem is just with the BODY field and not with the Subject or other fields, then it might be a case of a message with a blank body or some kind of encrypted body.

For example, the mail viewer doesn't know how to deal with SMIME or any sort of encrypted mail yet. In those cases the body will be empty. But I'm still not sure how this would cause an error yet.

Like I said, I'd be interested in more detail like exactly what you are clicking on and whether or not this happens in all folders or just some folders.
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Thu Jul 01, 2004 6:27 pm   
 
Oh, uhh..this happens when I launch the program, before clicking on anything. Then it happens when I click...anywhere. (Well, either on a folder or a message).

I get like 10-12 JIT pop ups (which i press escape to) then I see the message just fine.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Jul 01, 2004 8:47 pm   
 
Hmm. Could you send me a screen shot image of the program and the error box the *first* time it is displayed (when you launch the program)?

Also, if *anyone* else is having this error, please post here.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Jul 01, 2004 8:51 pm   
 
Oh, I'm also curious...if you disable or remove your JIT debugger, do you still get the popups?

The reason I ask is that when you first start mailview, the MessageGrid.CurRow is obviously Null since there is not yet any current message selected. So, any reference to stuff like MessageGrid.CurRow.Body is going to cause an error.

However, I've wrapped the calls for this in a "try/except" block and ignore any error messages. If the JIT debugger is somehow inserting itself so that these errors cause the popups, that might be the problem. There are *many* places in Zeus where a script error is likely and I just block those errors currently.

If it's the JIT debugger somehow intercepting these normally blocked errors, then I'm going to need to find a way to stop this from happening.

Finally, where did the JIT debugger come from? Is it part of Visual Basic or something else? If I have a copy on my system I might be able to try and reproduce the problem. Do you remember how it got installed?
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Thu Jul 01, 2004 9:43 pm   
 
Uhh...

Ok, well I dunno how to stop JIT, it pops up anytime any unhandled exception occurs in any program and gives me a list of solutions, here i'll take some screenies of what happens as I load mailview.zml

I start it, i get the splash for like 30 seconds followed by:


And then if I wait I get this:


Then I hit 'no' 10 times and I get this:


I then click on Personal Folders' + and then on Inbox and get this:


7 'Nos later I get this:


Clicking any message results in the 7 JITs as well.
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Thu Jul 01, 2004 9:44 pm   
 
Also, the JIT debug window is from Visual Studio 7 (.NET)
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Thu Jul 01, 2004 9:47 pm   
 
If I say yes to debug the first error i get at all...

It says: Microsoft VBScript runtime error: Object Required
MessageGrid.CurRow.

And theres a blank line that says: MessageGrid.CurRow.Sender

2nd Debug yields...same thing.

3rd..same except the line on it's own is:
MessageGrid.CurRow.Sender = null

Somewhere later instead of .Sender it's .Body...
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Fri Jul 02, 2004 6:04 pm   
 
P.s. this images are for the purposes of helping zugg debug. Please don't spam any of my email accounts, I don't have the time to block out the stuff you all shouldn't be looking at.

Does any of this help you by the way zugg?
Reply with quote
slicertool
Magician


Joined: 09 Oct 2003
Posts: 459
Location: USA

PostPosted: Fri Jul 02, 2004 8:53 pm   
 
What happens when you turn off script debugging?

I have VS.NET as well (well, a smaller incarnation of it) as well as VS6pro and am not running into any of these issues.
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Fri Jul 02, 2004 9:09 pm   
 
No problems when I turn off script debugging.
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Fri Jul 02, 2004 9:17 pm   
 
Ok...well now that is out of the air...more things.

If I right click on the taskbar entry for Zeus and hit 'Close' i get a COM warning:

---------------------------
COM Server Warning
---------------------------
There are still active COM objects in this application. One or more clients may have references to these objects, so manually closing this application may cause those client application(s) to fail.



Are you sure you want to close this application?
---------------------------
Yes No
---------------------------

However, if I hit the [X] at the top, it closes just fine.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Sat Jul 03, 2004 6:34 am   
 
Right-clicking a task bar entry and selecting close is always going to give you that error at this point. The COM system is currently set in "Interactive" mode so that I'll get these kind of warnings, and issuing a Close from the task bar never gives any application a chance to cleanly exit and close all of it's pointers. It's frankly a really good way to lose data in your programs.

Clicking the X in the window caption or selecting File/Exit properly cleans up the various internal objects, including the scripting object which is the COM object that is open and which is giving you the warning when you try and close it from the task bar.

I'll take a closer look at the screen shots and messages tomorrow. However, you said something that I think is really relavent. You said that when you turn off script debugging that you get no errors at all? This makes me think the script debugger is in fact trapping those exceptions that I'm expecting and currently ignoring in Zeus.

When you first run Zeus, the MessageGrid.CurRow IS null and so any reference to something like MessageGrid.CurRow.Sender IS going to cause the "Object required" error (because it's essentially doing NULL.Sender and NULL is not a valid object).

However, since Zeus *expects* this error, it turns OFF the error handling of the Script Control and ignores the error result. It sounds to me like the JIT debugger is getting into the middle of this and reporting the error message anyway even though Zeus is ignoring it.

If that's the case, then this JIT debugger is really going to cause problems. Because there are going to be *MANY* cases where the MS Script is going to refer to either objects that don't exist yet or null data that I need to ignore.

For example, imagine a <Label> component with a value of <Label>=Edit1.Text</Label> where the Edit1 control isn't defined until later. Well, until Edit1 gets defined, this is going to cause a script error, which again, Zeus ignores properly.

I guess I'm going to need to look into finding a better way to *really* turn off the error handling for the script system so that these JIT debuggers do not get triggered.

If anyone has any clue how to do this, please let me know.
Reply with quote
Krule
Adept


Joined: 12 Nov 2000
Posts: 268
Location: Canada

PostPosted: Sat Jul 03, 2004 5:03 pm   
 
While I have no idea, I do agree that its something that will definatly need to be looked at since I doubt any developers will want to turn off JIT
Reply with quote
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.     Home » Forums » General zApp Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
© 2009 Zugg Software. Hosted on Wolfpaw.net