programming tools for Windows applications development
  Home  |   SwiftForth Archive  |   SwiftX Archive  |

Re: Calling DLL function from assembler in Swiftforth

From: Rick VanNorman <rick_at_forth.com>
Date: Thu, 28 Feb 2002 13:20:19 -0800

\ using MessageBoxA to differentiate from the kernel reference ok
\ to MessageBox ok
  ok
4 IMPORT: MessageBoxA ok
  ok
: t1 ( hwnd msg title flags -- res )
   MessageBoxA ; ok
  ok
see t1
46E96F 46E91F ( MessageBoxA ) JMP E9ABFFFFFF ok
  ok
code t2 ( hwnd msg title flags -- res ) ok
IMPORTS +ORDER ok
   ' MessageBoxA ( *) ok
IMPORTS -ORDER ok
   ( *) >CODE CALL ok
   RET END-CODE ok
  ok
see t2
46E98F 46E91F ( MessageBoxA ) CALL E88BFFFFFF
46E994 RET C3 ok
  ok

The problem you were experiencing was search order related.

Rick

>How do I call a DLL imported function from the
>assembler. I have no problem using the function
>from FORTH itself. I have tried
>
> dllfunc CALL
> ' dllfunc CALL
> ' dllfunc >CODE CALL
>
>
>Where dllfunc is a valid function visible from the .IMPORTS statement.
>
>All of these give me an access violation.
>
>
>John Ballenthin
>John.Ballenthin_at_hanscom.af.mil
>----------------------------------------------------------------------
>sftalk_at_forth.com The SwiftForth programming discussion email list
>To unsubscribe, send subject "unsubscribe sftalk" to listar_at_forth.com
>For help with listar commands, send subject "help" to listar_at_forth.com
>Archives are located at http://www.forth.com/sftalk -- check them out!
>Search the archives! Visit http://www.forth.com/search for details.

----------------------------------------------------------------------
sftalk_at_forth.com The SwiftForth programming discussion email list
To unsubscribe, send subject "unsubscribe sftalk" to listar_at_forth.com
For help with listar commands, send subject "help" to listar_at_forth.com
Archives are located at http://www.forth.com/sftalk -- check them out!
Search the archives! Visit http://www.forth.com/search for details.
Received on Thu Feb 28 2002 - 13:19:04 PST

This archive was generated by hypermail 2.2.0 : Fri Nov 21 2008 - 03:04:21 PST