-
Здравствуйте уважаемые форумчане) Столкнулся с проблемой, поставившей меня в тупик :( Пишу дома библиотеку из нескольких компонентов, используя GDI+, на любимой D7. Решил проверить работу библиотеки на разных версиях дельфы (пробовал на примере к библиотеке). И о ужас, начиная с D2007, на выполнении конструктора вылезает бяка с сообщениями о беде в библиотеке ntdll.dll(вроде так, пишу по памяти с работы). Проверил, в поток изображение сохраняется правильно (в версиях D6, D7, D2005 поток, сохраненный в версиях с D2007 и выше, нормально грузится), обратно ошибка( Единственное предположение, что в версиях, начиная с D2007, GDI+ входит в пакет и возможно задействуется другая библиотека. Может кто сталкивался с чем то подобным? Библиотеку GDI+ использовал старую, 2002 года, моя библиотека ссылается только на нее.
procedure TBitmap32.ReadData; var AGPBitmap: TGPBitmap; StreamAdapter: TStreamAdapter; begin StreamAdapter := TStreamAdapter.Create(Reader); AGPBitmap := TGPBitmap.Create(StreamAdapter); здесь try Bitmap := AGPBitmap; finally AGPBitmap.Free; end; end;
procedure TBitmap32.WriteData; var StreamAdapter: TStreamAdapter; encoderClsid: TGUID; begin StreamAdapter := TStreamAdapter.Create(Writer); GetEncoderClsid('image/png', encoderClsid); FBitmap.Save(StreamAdapter, encoderClsid); end;
-
https://www.google.ru/#newwindow=1&hl=ru&sclient=psy-ab&q=TGPBitmap.Create+ntdll&oq=TGPBitmap.Create+ntdll&gs_l=hp.3...733.6144.0.6672.17.12.5.0.0.0.50.399.12.12.0...0.0...1c.1.11.p sy-ab.tpCkYGxo7yc&pbx=1&bav=on.2,or.r_qf.&bvm=bv.45645796,d.bGE&fp=534265b41de459cc &biw=1280&bih=911
-
2clickmaker
Большой пасиб, правда до конца не осознал, почему разрабы сие упустили(
-
|