Hi again! :)
Still having 'fun' with Internet Explorer I've met another issue. Consider the following script: browser := MSIEEventTraceViewer open browserController.
browser navigateTo: 'http://www.digitalglobe.com/archive'. "wait for page being downloaded here" doc := browser dispatchDriver getProperty: 'Document'. something := ( doc getMethod: 'frames' ) getProperty: 'item' withArguments: #( 0 0 ). something printString. The last line leads to image crash. And I can't even debug it! All method invokations I've tried through something fail. But ( doc getMethod: 'frames' ) getProperty: 'length' gives a correct result. I use vw 7.4 nc. Checked it in vw 7.3.1 and got the same problem. Btw, the similar script in Dolpin works. Unfortunatly, this can stop me using VisualWorks for the work I'm doing (but I don't want to), so please help!!! Or send any answer at all, just to let me feel myself not so lonely :) -- Dennis Schetinin |
Poor Dennis, nobody else seems to have been brave enough to try what you’re doing :-(.
The only help I can offer is how to debug VM crashes – if that’s what you mean by an image crash. In bin\win\readme.txt, it says to look at this URL: http://wiki.cs.uiuc.edu/VisualWorks/debugging+at+the+virtual+machine+level There’s also a VM command-line argument, -o10s, which outputs all method calls to stdout (if you start with the debug vwntconsole.exe), but that’s maybe more useful for crashes at startup. [just added that info to the above URL].
Steve
-----Original Message-----
Hi again! :) browser := MSIEEventTraceViewer open
browserController.
|
In reply to this post by Dennis Schetinin
Hi Dennis,
it won't be a real help, but I also sometimes have difficulties with the dispatchDrivers for the Item properties (in Excel for me, not IE). They seem so easy in VBA, but somehow they aren't when calling from outside the MS world. Is the dispatchDriver for the item property a valid one (connected?). Is there another way to get to the property? I don't know the IE Object Model. Just fishing in the dark, you know. I can get a dispatchDriver for the Document (DispHTMLDocument), but not even for the frames method (member not found), neither the item within it. Thomas > -----Original Message----- > From: Dennis Schetinin [mailto:[hidden email]] > Sent: Tuesday, May 16, 2006 3:30 PM > To: vwnc-list > Subject: [Bug] MS IE example (COM) > > Hi again! :) > > Still having 'fun' with Internet Explorer I've met another > issue. Consider the following script: > > > browser := MSIEEventTraceViewer open browserController. > browser navigateTo: 'http://www.digitalglobe.com/archive'. > > "wait for page being downloaded here" > > doc := browser dispatchDriver getProperty: 'Document'. > something := ( doc getMethod: 'frames' ) getProperty: 'item' > withArguments: #( 0 0 ). > something printString. > > > The last line leads to image crash. And I can't even debug > it! All method invokations I've tried through something fail. > But > > > ( doc getMethod: 'frames' ) getProperty: 'length' > > > gives a correct result. > > I use vw 7.4 nc. Checked it in vw 7.3.1 and got the same problem. > > Btw, the similar script in Dolpin works. > > Unfortunatly, this can stop me using VisualWorks for the work > I'm doing (but I don't want to), so please help!!! > Or send any answer at all, just to let me feel myself not so lonely :) > > -- > Dennis Schetinin > |
In reply to this post by Dennis Schetinin
Hello,
I
tried to find a way around the #item method of the frames collection which may
return some strange | browser
doc frames frame | browser :=
MSIEEventTraceViewer open browserController. browser
navigateTo: 'http://www.digitalglobe.com/archive'. "wait
for page being downloaded here" doc := browser
dispatchDriver getProperty: 'Document'. frames :=
doc getMethod: 'frames'. numFrames
:= frames getMethod: 'length'. 0 to:
numFrames-1 do: [:index | frame
:= doc getMethod: 'frames' with: index. [
frame invokeMethod: 'navigate' with: 'http://www.google.de'. ] ensure: [ frame release]]. frames
release. doc
release. Further
I placed a workaround in MSIEEventTraceViewer>>navigateCompleted:to: as I
got COM stacktraces Inside
the method, please replace … (self describeDispInterface: frameDispatchInterface) with: ([ self describeDispInterface: frameDispatchInterface ] on:
Error do:
[:ex | ex return: 'SomeInterface - error describing interface']). It
does not remove the reason for the error, but it avoids popping up windows with
COM stack traces. I
assume, as the callback implementation works for parameters representing entire
browser windows, I am
not sure why these “frame” interfaces should disallow retrieving
their describing ITypeInfo (I could not find However
there might be different reasons for the problem, e.g. a wrong assumption somewhere
deep inside
COM Connect or a non-standard implementation inside the used COM Server. Finding
the real reason will require some more investigation. Best
regards, Von: Dennis Schetinin
[mailto:[hidden email]] Hi again! :) browser := MSIEEventTraceViewer open
browserController.
|
Free forum by Nabble | Edit this page |