Memory Access problems (possibly)...
David Anderson
deandrsn at uiuc.edu
Mon May 25 23:55:15 UTC 1998
>first of all the exception means that there has been a GPF somewhere.
>This may *not* be in Squeak itself -- I'd rather think that something
>strange is going on in the DLL you're trying to access. However, since
>exceptions are handled by the allocation manager it gets reported there.
>As far as I see there are three possible causes:
Well, the DLL is a very small implementation of the IUnknown interface, and
a factory for object creation. I kinda expect it to be fine (got it from
"INSIDE OLE"), but will check it anyway.
>a) Calling conventions. I'm not sure that COM uses the __stdcall
> convention which is used throughout Squeak. If it's not using __stdcall
> your arguments may be passed in wrong order or the stack might not be
> cleaned up correctly. Note that functions having no arguments (such as
> when retrieving a COM interface) *will* work correctly
>b) You're trying to pass arguments which have to be pointers to some
> structure and these arguments are wrong. Try checking *what* you're
> passing on.
>c) You might have forgotten to pass on the pointer to the interface
> itself. This is in principle equal to b) since there is just one
> parameter wrong which is quite a significant pointer.
Unfortunatly, the function I am trying to call is simply AddRef of the
IUnknown interface, and thus I am passing no arguments at all. Any other
ideas?
>Hope this helps,
Thanks. but still looking.
Dave Anderson
deandrsn at uiuc.edu
More information about the Squeak-dev
mailing list
|