Hallo zusammen,
bei der Umstellung eines Programmes auf eine neue
OLE-Server Version erhalte ich beim kompilieren den Fehler:
[DCC Fehler] AdeskApprentice.pas(223): E2010 Inkompatible Typen: '
ActiveX.IPictureDisp' und 'Inventor_TLB.IPictureDisp'
bei:
SetOlePicture(Thumb, doc.Thumbnail);
In AxtiveX ist:
Delphi-Quellcode:
{$EXTERNALSYM IPictureDisp}
IPictureDisp = interface(IDispatch)
['{7BF80981-BF32-101A-8BBB-00AA00300CAB}']
end;
in der neuen importierten .tlb ist:
Delphi-Quellcode:
const
IID_IPictureDisp: TGUID = '
{7BF80981-BF32-101A-8BBB-00AA00300CAB}';
type
IPictureDisp =
interface;
// *********************************************************************//
// Interface: IPictureDisp
// Flags: (4096) Dispatchable
// GUID: {7BF80981-BF32-101A-8BBB-00AA00300CAB}
// *********************************************************************//
IPictureDisp =
interface(IDispatch)
['
{7BF80981-BF32-101A-8BBB-00AA00300CAB}']
end;
d.h. IPictureDisp ist hier auch deklariert.
In der alten .tlb der Vorgängerversion war in der uses Klausel
ActiveX mit eingebunden
so dass diese Definition gilt.
Meine Frage ist nun:
Wie kann ich nun erreichen, daß die Dinger formal kompatibel sind
(Müssen sie ja eigentlich sein, da die TGUID die gleiche ist)