Я установил свой элемент управления 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?
В расширении com_dotnet есть функция, которая делает это: com_print_typeinfo()
Когда мне это было нужно, это сработало. У меня нет большого опыта в этом, поэтому я не знаю, работает ли он со всеми COM-объектами. Также синтаксис является каким-то загадочным, по крайней мере, для кого-то вроде меня, который раньше не писал код activX.
Попробуйте следующее:
var_dump(get_class_methods('COM'));