Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

как задать аргументы для Invoke?

386
10 сентября 2005 года
newcss
297 / / 05.04.2005
Добрый день.
Вообщем появилась проблемка. Есть скрипт вида
script(value1,value2)

нужно его выполнить


VARIANTARG* v=new VARIANTARG[2];
v[0].vt=VT_BSTR;
v[1].vt=VT_I4;
v[0].bstrVal=new wchar_t[20];
wcscpy(v[0].bstrVal,L"window");
// wcscpy(v[1].bstrVal,L"scott/tiger");

v[1].lVal=4;
DISPPARAMS P={v,NULL,3,0};
VARIANT V;
EXCEPINFO E;
unsigned int ea;
// ShowMessage("ÂÎò õðåíü");
HRESULT res= pScript->Invoke(dispid, IID_NULL,LOCALE_SYSTEM_DEFAULT,DISPATCH_METHOD,&P,&V,&E,&ea);


Вот вот так делаю и dispid верный, а вот параметры неправильно указаны... подскажите пожалуйста, как указать параметры верно, всмысле чтобы задавала первый параметр для функции и второй....
386
11 сентября 2005 года
newcss
297 / / 05.04.2005
DISPPARAMS P={mass,mass2,mass3,mass4};
В документации, в том же билдере написано что
mass - массив аргументов
mass3- количество аргументов
А выходит так, что mass3 указывает числом какой элемента массива аргументов использовать! =(
386
11 сентября 2005 года
newcss
297 / / 05.04.2005
Творяться просто чудеса =(.
Если задать парметры все типа int, то все нормально работает, 2-а парметра передаются без проблем.... а если указать хотя бы один строковый.... или 2-а строковых параметра, то тут начинаются чудеса =(
246
12 сентября 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by newcss

...
Вот вот так делаю и dispid верный, а вот параметры неправильно указаны... подскажите пожалуйста, как указать параметры верно, всмысле чтобы задавала первый параметр для функции и второй....


В обратном порядке пихать не пробовал?

386
15 сентября 2005 года
newcss
297 / / 05.04.2005
Цитата:
Originally posted by GIZMO
В обратном порядке пихать не пробовал?


Я разобрался... Там все в норме... Я просто объяснил немножко не верно... Если задавать параметры строковые, то функцию выполнит вот так
function('window',4)

а мне выполнить функцию нужно вот как:
function(window,4)

=(, как задать window =( незнаю, и не где не описано =(

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог