Здравствуйте, Brahmaputor, Вы писали:
B>Пытаюсь сделать drag'n'drop вложений из почтового клинета,
B>и при попытке создания потока из IStorage дает AV на 775F5B6E accessing 00000010
B> Format.cfFormat := CF_FILEDESCRIPTOR;
B> Format.ptd := nil;
B> Format.dwAspect := 1;
B> Format.lindex := -1;
B> Format.tymed := TYMED_HGLOBAL;
B> if (dataObj.GetData(Format, Medium) = S_OK) then
B> begin
B> pfgd := PFileGroupDescriptor(GlobalLock(Medium.hGlobal));
B> for dwCount := 0 to pfgd.cItems — 1 do
B> begin
B> Format.cfFormat := CF_FILECONTENTS;
B> Format.ptd := nil;
B> Format.dwAspect := 1;
B> Format.lindex := dwCount;
B> Format.tymed := TYMED_ISTORAGE or TYMED_ISTREAM;
B> if (dataObj.GetData(Format, stgmitem) = S_OK) then
B> begin
B> pstg := IStorage(stgmitem.stg);
B> if pstg.OpenStream('__substg1.0_10090102', nil, STGM_READ or STGM_SHARE_EXCLUSIVE, 0, pstm) = S_OK then
B> ...
B>Укажите, плиз, че не так у меня
Попробуйте так:
Format.tymed := TYMED_ISTORAGE;// or TYMED_ISTREAM;
Возможно наведёт на мысль.