Amarth Isilme
2008-03-31 18:01:26 UTC
Bonjour,
J'ai actuellement un petit problème avec les manipulations d'activeX
avec PHP :
Les bugs #33734 et #44578 sur bugs.php.net représentent parfaitement
le problème que j'ai.
Il est dit dans le bug #33734 que le problème est sensé être résolu
depuis la version 5.1.0 mais je suis à la version 5.2.5 et je
rencontre néanmoins le problème.
Voici le code :
---------------------
<?php
// Creation de l'objet COM $obj_persist
$obj_persist = new COM("PERSIST.PersistCtrl.1")or die("Error");
$obj_appli = $obj_persist->Applications->Add($path);
$obj_unite = $obj_appli->Units->Add("foo");
$obj_instance = $obj_unite->objects->add($nom_instance);
$sous_objet = $obj_instance->collection("Objects");
$propriete = $sous_objet->Item("alm");
echo "Label Value : " . $propriete->Value("Label",0); //Renvoie la
bonne valeur => OK en lecture
// Ecriture Test 1
$propriete->Value("Label",0) = "Nouveau libellé";
// Fatal Error
//Ecriture Test 2
$propriete->Value["Label",0] = "Nouveau libellé";
// Invalid number of parameters.
Résultat Attendu:
----------------
J'ai essayé de plusieurs façons d'écrire dans la propriété $propriete-
J'ai également essayé avec VBa, ça marche sans le moindre problème
avec le code suivant.
Dim SsObjs as PrsCollObjects
Set SsObjs = MyInst.Collection("Objects")
Set MyObject = SsObjs.Item("Fault")
MyObject.Value("Label", 0) = "Défaut pompe 1"
Résultat actuel:
--------------
Résultat TEST 1 avec () :
Fatal error: Can't use method return value in write context in
C:\wamp\www\Test COM\index.php on line 71
Résultat TEST 2 avec [] :
Fatal error: Uncaught exception 'com_exception' with message 'Error
[0x8002000e] Nombre de param?tres non valide. ' in C:\wamp\www\Test
COM\index.php:69 Stack trace: #0 C:\wamp\www\Test COM\index.php(69):
unknown() #1 {main} thrown in C:\wamp\www\Test COM\index.php on line
69
Selon la façon d'ecrire ma commande, j'ai aussi parfois le message
d'erreur suivant :
"Unexpected ','" error.
Est-ce que ça inspire quelqu'un ?
Cordialement.
Amarth Isilme.
J'ai actuellement un petit problème avec les manipulations d'activeX
avec PHP :
Les bugs #33734 et #44578 sur bugs.php.net représentent parfaitement
le problème que j'ai.
Il est dit dans le bug #33734 que le problème est sensé être résolu
depuis la version 5.1.0 mais je suis à la version 5.2.5 et je
rencontre néanmoins le problème.
Voici le code :
---------------------
<?php
// Creation de l'objet COM $obj_persist
$obj_persist = new COM("PERSIST.PersistCtrl.1")or die("Error");
$obj_appli = $obj_persist->Applications->Add($path);
$obj_unite = $obj_appli->Units->Add("foo");
$obj_instance = $obj_unite->objects->add($nom_instance);
$sous_objet = $obj_instance->collection("Objects");
$propriete = $sous_objet->Item("alm");
echo "Label Value : " . $propriete->Value("Label",0); //Renvoie la
bonne valeur => OK en lecture
// Ecriture Test 1
$propriete->Value("Label",0) = "Nouveau libellé";
// Fatal Error
//Ecriture Test 2
$propriete->Value["Label",0] = "Nouveau libellé";
// Invalid number of parameters.
Résultat Attendu:
----------------
J'ai essayé de plusieurs façons d'écrire dans la propriété $propriete-
Value["Label",0]. Avec des parenthèses, des crochets, et même un mix
des deux. Impossible d'écrire la valeur.J'ai également essayé avec VBa, ça marche sans le moindre problème
avec le code suivant.
Dim SsObjs as PrsCollObjects
Set SsObjs = MyInst.Collection("Objects")
Set MyObject = SsObjs.Item("Fault")
MyObject.Value("Label", 0) = "Défaut pompe 1"
Résultat actuel:
--------------
Résultat TEST 1 avec () :
Fatal error: Can't use method return value in write context in
C:\wamp\www\Test COM\index.php on line 71
Résultat TEST 2 avec [] :
Fatal error: Uncaught exception 'com_exception' with message 'Error
[0x8002000e] Nombre de param?tres non valide. ' in C:\wamp\www\Test
COM\index.php:69 Stack trace: #0 C:\wamp\www\Test COM\index.php(69):
unknown() #1 {main} thrown in C:\wamp\www\Test COM\index.php on line
69
Selon la façon d'ecrire ma commande, j'ai aussi parfois le message
d'erreur suivant :
"Unexpected ','" error.
Est-ce que ça inspire quelqu'un ?
Cordialement.
Amarth Isilme.