|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #35339 COM "As" behaviour
Submitted: 2005-11-22 21:17 UTC Modified: 2019-10-18 11:43 UTC
From: amir at foresthc dot com Assigned: cmb (profile)
Status: Assigned Package: COM related
PHP Version: Next Minor Version OS: Windows
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
Block user comment
Status: Assign to:
Bug Type:
From: amir at foresthc dot com
New email:
PHP Version: OS:


 [2005-11-22 21:17 UTC] amir at foresthc dot com
In visual basic it is possible to declare a variable as a pointer to a certain type of object, but not instanciate it yet.

I have run into a problem using a 3rd party COM library, where it is neccessary to pass such an empty pointer by ref to a method, in order to get an instance or another class.

Reproduce code:
// This code is not real, it's just to illustrate the problem:

$factory = new COM('Example.Factory');

// Here we have several options, none of which work:
$product = new VARIANT;
$product = new COM('Example.Product');
variant_set_type($product, VT_EMPTY);

// Whatever I have done in the previous lines, this method fails. If it gets an instance of an instance of an object - it fails. If it gets anything that is not of type Example.Product, it fails.

Expected result:
Here is the "equivalent" VB code that works:

Dim objFactory As Example.Factory
Dim objProduct As Example.Product
// Any of these would fail:
Dim objProduct As New Example.Product
Dim objProduct As Variant

Sub Main()
    Set objFactory = new Example.Factory
End Sub

Actual result:
The Create_Product method will fail if it does not recieve the equivalent of the line: "Dim objProduct As Example.Product". Which as far as I can understand, is not possible to supply it with at this point.


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2015-01-08 23:55 UTC]
-Package: Feature/Change Request +Package: COM related
 [2019-10-18 11:43 UTC]
-PHP Version: 5.0.5 +PHP Version: Next Minor Version -Assigned To: +Assigned To: cmb
 [2019-10-18 11:43 UTC]
Assigning to cmb as he's the new maintainer for COM
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Sat Dec 07 20:01:24 2019 UTC