Thema: Delphi Datendefinition

Einzelnen Beitrag anzeigen

Berni68

Registriert seit: 9. Jan 2006
Ort: Villingen
162 Beiträge
 
Delphi XE5 Professional
 
#1

Datendefinition

  Alt 11. Mär 2010, 10:52
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)
Bernhard
  Mit Zitat antworten Zitat