le 10/06/2009 à 16:53
Bqda
Bonjour !
J'ai un "petit" soucis pour utiliser une dll en PHP. J'ai essayé plusieurs solutions mais rien de bien efficace.
La dernière en date est celle avec les objets COM.
Voici le code que j'ai pour l'instant :
J'ai bien entendu intégré à mon environnement la dll concernant le DynamicWrapper.
Mon soucis est qu'à l'exécution du script, j'obtiens l'erreur suivante :
Je pense que le soucis viens de la variable de type pointeur. Sinon pourquoi utiliser une dll ? Tout simplement car cette dll nous est fourni par un organisme indépendant et l'on a obligation de s'en servir pour notre application full web.
Étant donné qu'il s'agit d'un intranet, une install sur les postes clients ne pose évidemment aucun soucis.
Voici les 2 sources sur lesquelles je me suis basé pour mon code :
http://freenet-homepage.de/gborn/WSHBazaar/WSHDynaCall.htm
http://www.php.net/manual/fr/ref.w32api.php
Bien évidemment si une autre solution existe je suis preneur.
Help ! :(
J'ai un "petit" soucis pour utiliser une dll en PHP. J'ai essayé plusieurs solutions mais rien de bien efficace.
La dernière en date est celle avec les objets COM.
Voici le code que j'ai pour l'instant :
<?php
$str_to_crypt = "toto";
$str_crypt = '';
$NewCom = new COM("DynamicWrapper");
$NewCom->Register("dllapi.dll", "APICcrypterMem2", "i=spss", "f=s", "r=l");
$NewCom->APICcrypterMem2($str_to_crypt, $str_crypt, 'Master', 'C:\\Cles');
?>
J'ai bien entendu intégré à mon environnement la dll concernant le DynamicWrapper.
Mon soucis est qu'à l'exécution du script, j'obtiens l'erreur suivante :
Fatal error: Uncaught exception 'com_exception' with message 'Error [0x80070057] Paramètre incorrect. ' in C:\Documents and Settings\Administrateur\Bureau\PHP\s_crypt.php:10 Stack trace: #0 C:\Documents and Settings\Administrateur\Bureau\PHP\s_crypt.php(10): com->APICcrypterMem2($str_to_crypt, '', 'Master', 'C:\Cles') #1 {main} thrown in C:\Documents and Settings\Administrateur\Bureau\PHP\s_crypt.php on line 10
Je pense que le soucis viens de la variable de type pointeur. Sinon pourquoi utiliser une dll ? Tout simplement car cette dll nous est fourni par un organisme indépendant et l'on a obligation de s'en servir pour notre application full web.
Étant donné qu'il s'agit d'un intranet, une install sur les postes clients ne pose évidemment aucun soucis.
Voici les 2 sources sur lesquelles je me suis basé pour mon code :
http://freenet-homepage.de/gborn/WSHBazaar/WSHDynaCall.htm
http://www.php.net/manual/fr/ref.w32api.php
Bien évidemment si une autre solution existe je suis preneur.
Help ! :(