DLL et PHP

Petit nouveau ! | 3 Messages

28 juin 2012, 16:14

Bonjour,

J'ai lu quelques sujets sur le forum au sujet de la communication entre une dll et PHP. Mais je n'arrive à parvenir au résultat que je souhaite.

J'ai une DLL que j'ai acheté qui me permet en TCP de me connecter sur une plateforme pour y récupérer des données.

J'ai placé cette dll dans mon projet Web (pour ceux qui connaissent j'utilse CakePHP, j'ai mis la DLL dans le dossier Lib de l'appli).

Mais je ne parviens pas mis connecter.

Je suis persuadé que c'est un manque de connaissances de ma part. Y a t-il un moyen de dire à la classe COM d'aller cherche la DLL dans le dossier où j'ai mis ma DLL ?

Merci d'avance de votre aide.

Bien cordialement.

ViPHP
xTG
ViPHP | 7331 Messages

28 juin 2012, 18:20

A ce que je sache tu ne peux spécifier un chemin via PHP.
L'objet COM prend en paramètre l'ID de la DLL.
Cet ID est celui référencé dans le registre de ton système d'exploitation.
Voilà ce que j'en sais. :)

Petit nouveau ! | 3 Messages

28 juin 2012, 18:27

Merci je vais me repencher dessus alors :D

mais dans ce cas je la met ou cette DLL

ViPHP
xTG
ViPHP | 7331 Messages

28 juin 2012, 18:52

Où tu veux je pense, c'est la clé dans le registre qui doit faire le lien entre l'ID et le chemin de la DLL.

Petit nouveau ! | 3 Messages

28 juin 2012, 19:44

Dans ce cas je ne comprends pas très bien.

Mon code, dans la dll ressemble a ceci :

Code : Tout sélectionner

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace APIMT4Server { public class Server { public string hello() { return "Helloe"; } } }
et dans php je mets ceci.

Code : Tout sélectionner

$domainObject = new COM('APIMT4Server.Server');
Mais j'ai cette erreur : Failed to create COM object `APIMT4Server.Server': Syntaxe incorrecte

Tu serais d'ou ça viens ?

ViPHP
ViPHP | 2577 Messages

29 juin 2012, 09:17

Peut être : http://fr.php.net/manual/fr/class.dotnet.php car ca me semble être un message liés à des dll C# ou .NET.

Peut être le mode de compilation n'est pas le bon, mais je manque de compétence dans ce domaine.