PHP and DCOM

Discussion in 'PHP' started by eblackmo, Nov 12, 2007.

  1. #1
    I have the following code;

    <?
    $objMetaFrameFarm = new COM("MetaFrameCOM.MetaFrameFarm");
    $objMetaFrameFarm->Initialize(1);

    $objTheSessions = $objMetaFrameFarm->Sessions;

    print $objMetaFrameFarm->FarmName;
    $objMetaFrameServers = $objMetaFrameFarm->Servers;

    try
    {

    foreach($objMetaFrameServers as $objMetaFrameServer)
    {
    echo $objMetaFrameServer->ServerName;
    }
    }
    catch (com_exception $x)
    {
    print $x . "\n";
    }



    ?>

    If I run it as is I get a http 500 error if I comment out the foreach the code seems to run fine. If I then add $count = $objTheSessions->Count; inside the try it throws the following useful exception;

    exception 'com_exception' with message 'Source: Unknown
    Description: Unknown' in C:\Inetpub\wwwroot\Citrix_test_again.php:19 Stack trace: #0 C:\Inetpub\wwwroot\Citrix_test_again.php(19): unknown() #1 {main}

    Count is a property of the Sessions object. print $objMetaFrameFarm->FarmName; works correctly and is output to the browser.

    I was under the impression that foreach allows you to traverse a collection like for each in vb but this does not seem to be the case the sessions object does implement a _NewEnum property which returns an enumerator (ienumvariant) object for the collection I'm having some difficulty with the syntax though......

    Does anyone have any suggestions? Thanks.
     
    eblackmo, Nov 12, 2007 IP