Page 1 of 1

Getting into COM

Posted: Mon Sep 29, 2003 11:56 am
by GedB
The COM interface commands in 3.80 are great.

To make use of these I'm going to have to learn more about Com.

For example, if I want to use a COM dll like MSXML.

I remember from my Delphi days that I need the interface declarations for this. With Delphi there was a tool provided that would automaticly generate these interfaces for me.

Does anybody know how I would go about generating these interface declarations by hand?

Posted: Mon Sep 29, 2003 12:03 pm
by Rings
library sdk -> Interface-importer :)

Posted: Mon Sep 29, 2003 12:13 pm
by GedB
You guys are always one step ahead :D

I'd still quite to learn whats going on. Any recommendations?

Com Access

Posted: Wed Oct 01, 2003 2:15 am
by BlairH
Does this mean that you use Purebasic to access the com interface like Microsofts DAO or ADO? I am a database programmer and hit the road block of using ODBC and going backwards.

Blair

Posted: Wed Oct 01, 2003 3:42 am
by ricardo
Rings wrote:library sdk -> Interface-importer :)
But how to use it?

Posted: Wed Oct 01, 2003 10:11 pm
by GedB
Okay,

I downloaded the MSXML3 SDK from

I've used the InterfaceImported to Microsoft and use the header files to generate PB files containing the Interface definition.

I've also used the Header Importer.

I now have the following folder structure:

Code: Select all

MSXML
\--Interface  //Files generated using the Interface Importer
|   \--msxml2.pb //Contains Interface definitions
|       msxml2did.pb //Empty)
\--Headers //Files generated using the header importer
|   \--msxml2.pb //Contains structures and constants
|       msxmldid.pb
\--Validation //More files generated using the header importer
    \--msxml2_Validate.c
        msxml2_Validate.bp //Attempts to reference the header file
        msxml2did_Validate.c
        msxml2did_Validate.bp
What now? Running the validation files gives me the following:

msxml2_validate.bp: Line 4 Structure not found BSTR
msxml2did_validate.bp: Line 6 Constant not found #DISPID_NEWENUM

Now I'm stuck for my next step. Any tips or good reading material to help me progress?