External call failed

Himanshu Garg himanshu.garg at gmail.com
Sat Jun 25 10:50:36 UTC 2005


Hello,

    I have a function fnTest which is written in a MS Windows DLL. It
works fine when I call it from another exe. When I call it from my
subclass of Object in the following method I get externalCallFailed
error.
---------------------------------------------------------------------
go
       "Call fnTest from PangoDll"

       <apicall: void 'fnTest' (void) module:'pangodll.dll'>
       ^super externalCallFailed
---------------------------------------------------------------------
     How do I figure out what the problem is. The call stack is given
at the end of this mail.

Thank You,
Himanshu.

P.S. Call stack when go is called:-


Error: Unable to find function address
25 August 2005 1:21:40 pm

VM: Win32 - a SmalltalkImage
Image: Squeak3.7 [latest update: #5989]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir D:\squeak
Trusted Dir D:\squeak\printer
Untrusted Dir C:\My Squeak\printer

ExternalFunction class(Object)>>error:
       Receiver: ExternalFunction
       Arguments and temporary variables:
               aString:        'Unable to find function address'
       Receiver's instance variables:
               superclass:     ExternalObject
               methodDict:     a MethodDictionary(#argTypes->a
CompiledMethod (1544)
#callingConve...etc...
               format:         136
               instanceVariables:      #('flags' 'argTypes')
               organization:   ('initialize-release' initialize)
('accessing' argTypes flags mod...etc...
               subclasses:     #(ExternalLibraryFunction)
               name:   #ExternalFunction
               classPool:      a Dictionary(#FFIErrorMessages->a
Dictionary(-1->'Callout mechanism ...etc...
               sharedPools:    an OrderedCollection(FFIConstants)
               environment:    a SystemDictionary(lots of globals)
               category:       nil

ExternalFunction class>>externalCallFailed
       Receiver: ExternalFunction
       Arguments and temporary variables:
               errCode:        13
       Receiver's instance variables:
               superclass:     ExternalObject
               methodDict:     a MethodDictionary(#argTypes->a
CompiledMethod (1544)
#callingConve...etc...
               format:         136
               instanceVariables:      #('flags' 'argTypes')
               organization:   ('initialize-release' initialize)
('accessing' argTypes flags mod...etc...
               subclasses:     #(ExternalLibraryFunction)
               name:   #ExternalFunction
               classPool:      a Dictionary(#FFIErrorMessages->a
Dictionary(-1->'Callout mechanism ...etc...
               sharedPools:    an OrderedCollection(FFIConstants)
               environment:    a SystemDictionary(lots of globals)
               category:       nil

Pango(Object)>>externalCallFailed
       Receiver: a Pango
       Arguments and temporary variables:

       Receiver's instance variables:
a Pango
Pango>>go
       Receiver: a Pango
       Arguments and temporary variables:

       Receiver's instance variables:
a Pango


-- 
(9885420248)



More information about the Squeak-dev mailing list