php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #12718 com_invoke always seems to return false
Submitted: 2001-08-13 11:35 UTC Modified: 2001-08-13 20:43 UTC
From: n dot morse at hyperknowledge dot com Assigned: phanto (profile)
Status: Closed Package: COM related
PHP Version: 4.0.6 OS: Win 2k
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: n dot morse at hyperknowledge dot com
New email:
PHP Version: OS:

 

 [2001-08-13 11:35 UTC] n dot morse at hyperknowledge dot com
I created a simple COM objecj in Vis C++.  It has a method "hello" on it that does nothing except return S_OK, and a property "bar" that returns a string.

I can use com_load to create the object and I can get the property string back out (com_propget), but if I call "hello" then it returns FALSE.

$svr = com_load( "SIMPLECOMASP.NKMSimpleObj" );
$foo = com_invoke( $svr, "hello" );

if ( $foo )
  echo $foo;
else
  echo "No";

I created another method taking a BSTR input and a BSTR* output and that always returns false with the output being empty.  I tried the calls from VB as well, and they seem to work OK, so the COM oject looks functional. If I run the COM exe from the debugger, I can trace through the functions - so they *are* being called, just a bogus return code from somewhere.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-08-13 12:46 UTC] n dot morse at hyperknowledge dot com
Just to add to this: If I make the return value a "retval" in the IDL then I can use com_invoke and it works (for the same reason that a propget works). It just doesn't seem to like "normal" HRESULT return
 [2001-08-13 16:37 UTC] phanto@php.net
ok, i'll check this

just beeing nosily, what does

$svr = new COM("SIMPLECOMASP.NKMSimpleObj");
echo $svr->hello();


return ?
 [2001-08-13 20:43 UTC] phanto@php.net
fixed in cvs
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Dec 26 10:01:29 2024 UTC