Я установил свой элемент управления Activex с помощью setup.exe, а затем зарегистрировал его с помощью команды:
regsvr32 UpdateCreator.ocx
Я использую COM-класс для создания объекта ex
Но я не могу отобразить какой-либо метод этого класса. Хотя я могу использовать метод getMethods
,
Я использую этот код PHP для этого:
<?PHP
$ex = new COM("UpdateCreator.updCreator", NULL, CP_UTF8) or Die ("Did not instantiate ");
$class = new ReflectionClass('COM');
var_dump(get_class_methods($ex));
echo get_class($ex);
echo "\n";
var_dump(get_object_vars($ex));
$method = $class->getMethods();
var_dump($method);
$sn= '124dd';
$hid= 'dfgh';
$answer= 'ertyy';
$rand = 'jkjkj';
$int = $ex->getAnswer($sn, $hid, $answer, $rand);
echo $int;
?>
результат :
C:\xampp\php>php.exe d:\testCom.php
array(0) {
}
com
bool(false)
array(0) {
}
0
Как отобразить метод, используемый объектом ex?
Попробуйте с этим:
var_dump(get_class_methods('COM'));
В расширении com_dotnet есть функция, которая делает это: com_print_typeinfo ()
Когда мне это было нужно, это работало. У меня нет большого опыта с этим, поэтому я не знаю, работает ли он со всеми COM-объектами. Также синтаксис несколько загадочный, по крайней мере для кого-то вроде меня, который раньше не писал код activX.