Bqda

Inscris le 10/06/2009 à 16:24
  • Nombre de sujets
    1
  • Nombre de messages
    6
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
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 :

<?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 ! :(

Ses derniers messages sur les forums

forum
Bqda
En fait ou et non, puisqu'on peut accéder facilement aux dll system via php. C'est juste le pointeur que php a du mal à gérer, pourtant il devrait le considérer comme 1 simple chaine de caractère lui.
Bqda
Merci à toi en tout cas ! Ca doit bien être possible d'utiliser 1 dll perso en php. Je test actuellement WinBinder et ça à l'air de plus ou moins bien tourner.

Le soucis maintenant est ma variable de type pointeur qui me pose bien des misères, j'ai le droit à un magnifique plantage d'Apache.
Je vais me renseigner sur leur forum.

Merci en tout cas.
Bqda
J'utilise le bon php.ini (je passe par le menu de configuration sous easyphp) et je restart bien mon serveur à chaque fois.

Le soucis est qu'il ne s'agit pas d'une librairie php comme je te l'ai dit, d'ailleurs le fichier de log vient de me confirmer qu'il n'était pas possible de charger autre chose qu'une librairie php via cette méthode. Réveillé comme je suis je n'ai même pas pensé à le consulter lol.

Voici la ligne que j'obtiens dans le fichier de log : "PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'dllapi.dll' in Unknown on line 0"

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours