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