> Thanks, but it didn't solve it. The same code (+coinitialize) works in > Delphi 5. Maybe it's the dispinterfaces problem in fpc? Is it expected > to work in 2.2.2 or in 2.3.1?
I suspect it is in the classid. (the clsid_ constant). 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, but when I copied and pasted a value for clsid_ishelllink found on the web, the example worked, with or without coinit*.\ So the value in the FPC headers is wrong, and the IID values in the headers. So I grepped the SDK headers, and the shellink clsid is: DEFINE_SHLGUID(CLSID_ShellLink, 0x00021401L, 0, 0); // 00021401-0000-0000-C000-000000000046 while the iid starts with 000214EE _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal