Re: "this variant has no properties"?

From: Date: Thu, 18 Feb 2010 00:01:36 +0000
Subject: Re: "this variant has no properties"?
References: 1  Groups: php.windows 
Request: Send a blank email to php-windows+get-29911@lists.php.net to get a copy of this message
When it comes to doing things with the registry, PHP4 seems to be better than PHP5: <?php $registry = new COM('winmgmts:root/DEFAULT:StdRegProv'); $values = new VARIANT(); echo $registry->getBinaryValue(0x80000002, 'SOFTWARE\\Microsoft\\Cryptography\\RNG', 'Seed', $values); var_dump($values->value); ?> That works as expected on PHP4. On PHP5, it gives yet another "this variant has no properties" error. On Wed, Feb 17, 2010 at 5:46 PM, Thomas Anderson <zelnaga@gmail.com> wrote: > <?php > $wscript = new COM('WScript.Shell'); > while (true) { >    $random = > $wscript->RegRead('HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography\\RNG\\Seed'); >    var_dump($random->value); >    sleep(1); >    echo "\r\n"; > } > ?> > > That gives me a "this variant has no properties" error.  My question > is...  how on earth does it not have any properties?  As the following > VBscript is testament to, it clearly does have properties: > > function bin2hex(values) >        dim result >        for each value in values >                temp2 = hex(value) >                select case len(temp2) >                        case 0: result = result & "00" >                        case 1: result = result & "0" & temp2 >                        case 2: result = result & temp2 >                end select >        next >        bin2hex3 = result > end function > > Set WshShell = createObject("WScript.Shell") > > temp = > WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG\Seed") > MsgBox(bin2hex(temp)) > > Doing vartype on temp reveals that it's an array of variants (VT_ARRAY > | VT_VARIANT).  Even variant_get_type agrees.  But how do access the > elements of htat variant array?  Can I? >

« previous php.windows (#29911) next »