I'm playing around with the com package, but I'm having a hard time
understanding how to map a COM call to the appropriate methodN or
functionN call.  Does anyone have any example code that uses the
method1 or higher.  Any help or pointers would be appreciated.

Here's the code I have so far:


import System.Win32.Com
import System.Win32.Com.Automation


dsn = "Provider=vfpoledb.1;Data Source=C:\\SomeDirectory\\"
main = coInitialize >>
       openConnection >>= \con ->
       closeConnection con

openDSN :: String -> IDispatch a -> IO ()
openDSN dsn con = method0 "Open" [inString dsn] con

openConnection :: IO (IDispatch a)
openConnection = createObject "ADODB.Connection" >>= \con -> openDSN
dsn con >> return con

closeConnection :: IDispatch a -> IO ()
closeConnection =  method0 "Close" []

{-
Wraps ADO Connection.Execute
http://msdn.microsoft.com/en-us/library/ms675023(VS.85).aspx
Set recordset = connection.Execute (CommandText, RecordsAffected, Options)

execute :: String -> IDispatch a -> IO a
execute cmd con = method1 "Execute" [inString cmd] (inEmpty,resWord64) con

-}


Thank You,
Wilkes
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to