![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TShockwaveFlash и интерфейсы .... [D7, Win2k]
ki11er © (2005-02-24 20:32:00)Здравствуйте.
procedure TForm1.SpeedButton1Click(Sender: TObject);
var i: IUnknown;
i1: IShockwaveFlash;
hRes: HResult;
const IID_IShockwaveFlash: TGUID = '{D27CDB6C-AE6D-11CF-96B8-444553540000}';
IID_IUnknown: TGUID = '{00000000-0000-0000-C000-000000000046}';
begin
hRes := IUnknown(ShockwaveFlash1).QueryInterface(IID_IUnknown, i);
hRes := i.QueryInterface(IID_IShockwaveFlash, i1);
end;
Объясните пожалуйста неграмотному, почему второй вызов дает ошибку ($80004002). И как правильно получить указатель на
нужный интерфейс.
И попутно еще один вопрос. Почему
...
ShockwaveFlash1.Movie := 'c:\123.swf';
ShockwaveFlash1.Play;
...
Работает, а
...
str: WideString;
...
str := 'c:\123.swf';
ShockwaveFlash1.Movie := LoadMovie(0, str);
ShockwaveFlash1.Playж
...
Не работает
???
Спасибо.
ki11er (2005-02-24 22:15:00) [1]Хмм. Кажется понял, посмотрев на объявление класса
TShockwaveFlash. Но зачем так хитро сделано? Кто-нибудь может
пояснить? И в чем разница между ControlInterface и DefaultInterface?
спасибо.
ki11er (2005-02-24 22:10:00) [2]>Ну дак откуда он у нее возьмется.
Что значит откуда? Поясните пожалуйста. Я никогда раньше подобные вещи на Дэлфи не делал... Но вызвает же он как-то
функцию Play именно того интерфейса, который я пытаюсь получить.
Что-то я не догоняю...
Спасибо.
Набережных С. (2005-02-24 21:19:00) [3]$80004002 - Interface not supported
Нет у него такого интерфейса
ShockwaveFlash1 - дельфийская обертка? Ну дак откуда он у нее возьмется.
ShockwaveFlash1.DefaultInterface?