![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TShockwaveFlash. Как записать в поток? [D6, XP]
Артем © (2008-01-08 05:17:00)Господа, не могу разобраться как записать в поток объект TShockwaveFlash???
var
OS:TOleStream;
Strm:IStream;
begin
OS:=TOleStream.Create(Strm);
flash1.Movie.savetostream(OS);
end;
Не хочет :( Что не так делаю?
Serg1984 (2008-01-21 03:38:00) [1]1
Артем (2008-01-09 00:16:00) [2]Проблему решил. Топик закрыт.
Артем (2008-01-08 21:12:00) [3]Пытаюсь через Memo - сначало в него содержимое SWF файла, а потом в хранилище. Ни фига не помогает. Записывается вот такая ерунда в 9 байт: "FWS\x8уDр\x1Ђ"
КОД:
s:='d:\test.swf';
swf:= TFileStream.Create(s, fmOpenRead);
memo3.lines.LoadFromStream(swf);
swf.free;
OleCheck(StgCreateDocfile('d:\Testing.stg',STGM_CREATE or STGM_READWRITE or STGM_SHARE_EXCLUSIVE ,0,Stg));
OleCheck(Stg.CreateStream('SWF',STGM_READWRITE or STGM_SHARE_EXCLUSIVE,0,0,Strm));
OS:=TOleStream.Create(Strm);
memo3.lines.SaveTOStream(OS);
OS.free;
Strm:=nil;
Stg:=nil;
end;
Артем (2008-01-08 20:42:00) [4]Сутки мучаюсь - никак не могу победить. Кто-нибудь подскажет как записать SWF-файл в хранилище типа IStorage?
Что делаю не так?
fics (2008-01-08 20:26:00) [5]
> Артем
Да тупанул, показалось что не правильно.
Артем (2008-01-08 20:11:00) [6]Зачем наоборот-то? :) Вроде правильно.
В любом случае не помогает.
fics (2008-01-08 19:54:00) [7]
> Артем
> Выдает ошибку "не верный указатель". А потом, что не может
> открыть 'd:\test.swf'. Размер этого файла 19 метров...
Слеш наоборот поставь
Артем (2008-01-08 19:42:00) [8]Коллеги, не могу справиться, нужна помощь. Где ошибка во втором листинге?
Артем (2008-01-08 06:20:00) [9]Выдает ошибку "не верный указатель". А потом, что не может открыть 'd:\test.swf'. Размер этого файла 19 метров...
Артем (2008-01-08 06:14:00) [10]Нет, это ерунда то, что пытался выше. Вот пробую:
procedure TForm1.Button2Click(Sender: TObject);
var
Stg:IStorage;
OS:TOleStream;
Strm:IStream;
swf:TFileStream;
s:string;
SwfFileSize: Integer;
begin
s:='d:\test.swf';
swf:= TFileStream.Create(S, fmOpenRead or fmShareExclusive);
SwfFileSize:=swf.Size;
OleCheck(StgCreateDocfile('d:\Testing.stg',STGM_CREATE or STGM_READWRITE or STGM_SHARE_EXCLUSIVE ,0,Stg));
OleCheck(Stg.CreateStream('Testing',STGM_READWRITE or STGM_SHARE_EXCLUSIVE,0,0,Strm));
OS:=TOleStream.Create(Strm);
os.writebuffer(swf,SwfFileSize);
OS.free;
Strm:=nil;
Stg:=nil;
swf.Free;
end;
Задача такая:записать SWF-файл в хранилище IStorage. Где ошибка?