[fpc-pascal] EOLESysError calling CreateOLEObject
Marco van de Voort
marcov at stack.nl
Tue Jul 22 16:22:07 CEST 2008
> > Apparantly when I converted the headers, I thought there only was one ID.
> > However it seems that classids, and the ids in interfaces are different.
> >
> > I don't know enough from com to understand the difference,
>
> classids are used to identify implementation objects, while iid
> identify interfaces as in regular object pascal interface ( used in
> QueryInterface ).
> The COM obects creation routines ( CoCreateObject and friends ) expect
> a classid to locate the implementation object to instanciate.
Ok, makes sense, thanks. Now I understand what I fixed.
However the windows headers don't have a really good place or uniform way to
declare either, so I can't do a bit of grepping and isolate all clsids.
However I found a big batch (160 of them) in the comdef header, with among
them the correct value of clsid_shelllink (so I know they are really
clsids). These are already committed, and I'll try to get it in 2.2.2.
On some website sb hinted that there are even more kinds (fmtids and
cgids), do you happen to know more about those too?
More information about the fpc-pascal
mailing list