Calling a C platform function from a method
For the C sample add the following method in your application: 
invokeCATM
    "This method calls the C ATM function in the CATM DLL.
     The method assumes the record wrapper has already been
     created and that the constants in the CATM sample
     structure have been placed in a pool dictionary"
    | atmStruct platformFunction |
    atmStruct := SampleCATMStruct new.
    atmStruct pinNumber: '12345'.
    platformFunction := PlatformFunction
                        callingConvention: 'c'
                        function: 'atm'
                        library: 'catm'
                        parameterTypes: #(uint32 pointer)
                        returnType: #none.
    platformFunction coroutineCallWithArray:
                     (Array with: AtmQuery with: atmStruct)
                     threadKey: nil.
    Transcript show: (atmStruct firstName); cr;
               show: (atmStruct lastName); cr;
               show: (atmStruct checkingBalance); cr.
Type the following on the System Transcript window and run it: 
MyExtFunc new invokeCATM
You should see the following on your System Transcript window: 
John
Smith
7890.03
 
The example above specified atm for the function to be called. This can be done because the make file preserved case sensitivity by using the link /NOI option. If /NOI was not specified for the link in the make file, you would have specified ATM. Be sure you understand the link options being used for the library when creating a platform function. 
Last modified date: 05/15/2020