At Friday 22/12/2006 00:28, Mark Hammond wrote:
> >import win32ui
> >from pywin.mfc import docview
> >
> >t = docview.DocTemplate()
> >t.OpenDocumentFile("d:/temp/music.log", True)
> >
> >This caused windows to close PythonWin.
>
> This appears to be a problem with pywin32.
> Using release 209 for Python 2.4 I get an Access Violation.
It was attempting to set a Python error without the GIL held. I've fixed
that - it now results in:
win32ui: PyCDocument::OnOpenDocument handler does not exist.
>>>
Oh, thanks!
Using:
>>> t.OpenDocumentFile(None)
Opens a document - I'm afraid I can't recall the MFC semantics here at the
moment.
I think one should inherit from docview.Document and write the
OnOpenDocument handle, but I'm not sure either. I hope the OP has
enough info to continue from here.
> Also I've noticed that this idiom:
>
> try:
> win32ui.GetApp().RemoveDocTemplate(template)
> except NameError:
> # haven't run this before - that's ok
> pass
>
> doesn't work anymore because RemoveDocTemplate raises a different
> exception now.
I can't recall any change I made that would account for that. I'm assuming
that the NameError comes from 'template' which is yet to be assigned - but
in that case RemoveDocTemplate should not be called as the NameError happens
before. I don't recall (and grep doesn't show) that pythonwin ever raises
this exception.
It is used in 4 scripts inside pythonwin\pywin\framework.
And can be found on your own book, chapter 20...
--
Gabriel Genellina
Softlab SRL
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
_______________________________________________
Python-win32 mailing list
Python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32