Einzelnen Beitrag anzeigen

Thomas_K

Registriert seit: 16. Apr 2006
71 Beiträge
 
Delphi XE8 Professional
 
#6

AW: Änderungen von XE3 zu XE4

  Alt 17. Jul 2013, 11:18
Ich habe gerade die DragAndDrop Komponenten für XE4 überarbeitet. Dabei habe ich ein paar Probleme:

hier komme ich nicht weiter
kommt
[dcc32 Fehler] DragDropInternet.pas(1554): E2010 Inkompatible Typen: 'Pointer' und 'TMAPIAllocateBuffer'

Delphi-Quellcode:
type
  TMAPIAllocateBuffer = function(cbSize: ULONG; var lppBuffer: pointer): SCODE; stdcall;

var
  MAPIAllocateBuffer: TMAPIAllocateBuffer = nil;
  ...

    OleCheck(OpenIMsgOnIStg(FSession,
      @MAPIAllocateBuffer,
      @MAPIAllocateMore,
      @MAPIFreeBuffer,
      IMalloc(MapiGetDefaultMalloc),
      nil,
      FStorages[Index],
      nil, 0, 0,
      Result));
ich hab das rein "Intuitiv" so abgeändert

Delphi-Quellcode:

    OleCheck(OpenIMsgOnIStg(FSession,
  {$IF CompilerVersion >= 25.0}
      pointer(@MAPIAllocateBuffer),
      pointer(@MAPIAllocateMore),
      pointer(@MAPIFreeBuffer),
  {$ELSE}
      @MAPIAllocateBuffer,
      @MAPIAllocateMore,
      @MAPIFreeBuffer,
  {$ENDIF}
      IMalloc(MapiGetDefaultMalloc),
      nil,
      FStorages[Index],
      nil, 0, 0,
      Result));
Ist das so OK?
  Mit Zitat antworten Zitat