Управление указателями

О том, как управлять указателями

VoidCore::removeObjects

void VoidCore::removeObjects (int ...$selectors) — удаление объектов

Аргумент

Описание

int ...$selectors

Список указателей на объекты

Пример:

script.php

<?php

$form   = VoidCore::createObject ('System.Windows.Forms.Form');
$button = VoidCore::createObject ('System.Windows.Forms.Button');
$msgbox = VoidCore::getClass ('System.Windows.Forms.MessageBox');

VoidCore::removeObjects ($form, $button, $msgbox);

VoidCore::destructObject

bool VoidCore::destructObject (int $selector) — удаляет объект если он больше не используется в коде и возвращает статус удаления

Аргумент

Описание

int $selector

Указатель на объект

Пример:

script.php

<?php

$form   = VoidCore::createObject ('System.Windows.Forms.Form');
$button = VoidCore::createObject ('System.Windows.Forms.Button');

# Устанавливаем кнопку $button на форму $form
# Метод setProperty см. ниже*
VoidCore::setProperty ($button, 'Parent', $form);

var_dump (VoidCore::destructObject ($form));   // false
var_dump (VoidCore::destructObject ($button)); // false

# Удаляем кнопку из-за которой нельзя удалить форму (и наоборот)
VoidCore::removeObjects ($button);

var_dump (VoidCore::destructObject ($form)); // true

VoidCore::objectExists

bool VoidCore::objectExists (int $selector) — проверяет, существует ли объект с данным указателем

Аргумент

Описание

int $selector

Указатель на объект

Пример:

script.php

<?php

$form = VoidCore::createObject ('System.Windows.Forms.Form');

var_dump (VoidCore::objectExists ($form)); // true

VoidCore::removeObjects ($form);

var_dump (VoidCore::objectExists ($form)); // false

VoidCore::getProperty

mixed VoidCore::getProperty (int $selector, string $propertyName) — получение свойства объекта

Аргумент

Описание

int $selector

Указатель на объект

mixed $propertyName

Название свойства

Если в качестве свойства была использована строка - VoidCore будет использовать её в качестве названия свойства. Возвращаемое значение будет автоматически приведено к нужному типу

Если вы хотите вернуть значение свойства определённого типа - вы можете использовать конструкцию ['название свойства', VC_ТИП]. К примеру: ['Width', VC_INT]. Полный список доступных типов см. в "Работа с типами"

Пример:

script.php

<?php

$button = VoidCore::createObject ('System.Windows.Forms.Button');

// Вернёт "75" (ширина кнопки по умолчанию)
echo VoidCore::getProperty ($button, 'Width');

// Тоже самое, что и выше*
echo VoidCore::getProperty ($button, ['Width', VC_INT]);

VoidCore::setProperty

void VoidCore::setProperty (int $selector, string $propertyName, mixed $value) — установка свойства объекта

Аргумент

Описание

int $selector

Указатель на объект

string $propertyName

Название свойства

mixed $value

Значение свойства

Значение свойства поддерживает такую же конструкцию, как и в примере с методом getProperty

Пример:

script.php

<?php

$form   = VoidCore::createObject ('System.Windows.Forms.Form');
$button = VoidCore::createObject ('System.Windows.Forms.Button');

VoidCore::setProperty ($button, 'Parent', $form);
VoidCore::setProperty ($button, 'Text', 'Click Me!');

VoidCore::getField

mixed VoidCore::getField (int $selector, mixed $fieldName) — получение поля объекта

Аргумент

Описание

int $selector

Указатель на объект

mixed $fieldName

Название поля

Пример:

script.php
<?php

$IPAddress = VoidCore::getClass ('System.Net.IPAddress');

# Метод callMethod см. ниже*
$field = VoidCore::getField ($IPAddress, 'Any');
$text  = VoidCore::callMethod ($field, 'ToString');

// Выведет указатель на объект значения поля
echo $field;

// Выведет текстовое представление значения поля (0.0.0.0?)
echo $text;

VoidCore::setField

void VoidCore::setField (int $selector, string $fieldName, mixed $value) — установка поля объекта

Аргумент

Описание

int $selector

Указатель на объект

string $fieldName

Название поля

mixed $value

Значение поля

Пример:

script.php
<?php

// TODO

VoidCore::callMethod

mixed VoidCore::callMethod (int $selector, mixed $methodName, ...$args) — вызов метода объекта

Аргумент

Описание

int $selector

Указатель на объект

mixed $methodName

Название метода

...$args

Аргументы метода

Пример:

script.php

<?php

$msgbox = VoidCore::getClass ('System.Windows.Forms.MessageBox');

VoidCore::callMethod ($msgbox, 'Show', 'Hello, World!', 'Test');

Last updated

Was this helpful?