2011-12-21 4 views
1

следующие работы в Delphi XE2, но бросает нарушение доступа в Delphi XE:Использование GDI + в Delphi XE

uses 
    GDIPAPI, GDIPOBJ; 
... 
TGPImage.Create (TStreamAdapter.Create (MemStream)); // throws AV 

Как я могу использовать GDI + в Delphi XE?

+0

Попробуйте использовать переменную tmp, то есть 'SA: = TStreamAdapter.Create (MemStream); TGPImage.Create (SA); 'иногда это имеет значение с некоторой неясной ошибкой компилятора ... – ain

+1

Работает в Embarcadero® Delphi® XE Version 15.0.3953.35171 – menjaraz

ответ

4

Использование единиц GDI + от Progdigy и переименование их во избежание конфликтов с теми, которые используются в пакете TeeCharts, решает проблему. XE не поставляется с источниками для этих устройств (XE2 делает), поэтому я не уверен, почему это не удалось.

+0

Вы хотите сказать, что проблема связана с пространством имен? – Kromster

+0

Я считаю, что это связано с устаревшим двоичным DCU, поставляемым с XE, но я не уверен. Или у Smasher могли быть некоторые старые версии GDI + единиц в его пути библиотеки. –