[PHP/IIS/COM] kan wel properties oproepen, niet wijzigen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik probeer een COM-object te gebruiken. Alles werkt prima met ASP op dezelfde machine, met PHP kom ik er niet uit. Het betreft een Windows XP Professional machine met IIS5 en PHP4.

Alles gaat goed, behalve het veranderen van een waarde van een property.

code:
1
2
' Werkend ASP (VBScript) voorbeeld:
customobject.GstName(guestsessionid) = Request("gstname")


PHP:
1
2
3
4
5
6
7
8
9
// NIET werkend PHP voorbeeld: 
$customobject->GstName($guestsessionid)->value = $gstname;
// of
$customobject->GstName($guestsessionid) = $gstname;
// of 
$customobject->GstName($guestsessionid)->$gstname;

// Het volgende werkt wel in PHP:
$gstname = $customobject->GstName($guestsessionid);


Ziet iemand wat ik fout doe/vergeet? Thanks!

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Functie = variabele zal nooit werken lijkt me. Ik heb geen ervaring met COM objecten in PHP maar volgens mij is er vast wel een method die doet wat jij wil. Dit zal een ophaalfunctie zijn, jij wil een setfunctie. Misschien moet je de documentatie nog eens goed doorkijken of er niet zoiets bestaat voor wat je wil.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
NMe84 schreef op 30 april 2004 @ 17:46:
Functie = variabele zal nooit werken lijkt me.
De grap is dat dit volgens mij geen functie is. Althans, in VBScript werkt het als een property, je kunt er een waarde op de manier dat ik postte meegeven. Op één of andere manier moet dit in PHP toch ook kunnen!

In de documentatie kan ik alleen com_set() vinden, zie ook http://www.php.net/COM/, maar daar kom ik niet verder mee.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ik zie het al denkik. In dat ASP script hierboven gebruik je een array. GstName is geen functie, maar een array als ik het zo zie. Probeer dit eens:
PHP:
1
$customobject->GstName[$guestsessionid] = $gstname;

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Klinkt logisch, maar dan zou ik toch ook zo de waardes op moeten kunnen vragen? Dat lukt dus niet, alleen zoals mijn onderste voorbeeld.

Ik heb het natuurlijk wel even geprobeerd, maar er gebeurt letterlijk niets...

[ Voor 43% gewijzigd door Verwijderd op 30-04-2004 18:25 ]


Acties:
  • 0 Henk 'm!

Verwijderd

typisch geval. Ik ken dit vanuit VB, en daarom zal het ook in asp werken, maar in php lijkt het niet mogelijk om hetzelfde te doen.
Bij com_set mist namelijk iets om de argumenten voor de property mee te geven.
(is trouwens ook bij com_get).
Pagina: 1