Ou dois-je placer ma DLL ?

Ou dois-je placer ma DLL ? - C#/.NET managed - Programmation

Marsh Posté le 29-06-2006 à 12:07:11    

Bonjour.  
J'ai créé une dll simple en C# avec à l"intérieur une classe bateau.
 

Code :
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace toto {
  5.     public class Class1 {
  6.         public string test(){
  7.             return "ça fonctionne terrible";
  8.         }
  9.     }
  10. }


 
Mon code PHP

Code :
  1. <?php
  2. $obj = new COM("test_php" );
  3. ?>


 
Rien de méchant pour l'instant. De là, je génère une dll mais lorsque je veux utilisé cette dll depuis php via l'objet COM ou DOTNET les embrouilles commence.
 
et j'ai l'erreur suivante:

Citation :

Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `test_php': Syntaxe incorrecte ' in c:\http\WWW\zorha\test.php5:2 Stack trace: #0 c:\http\WWW\zorha\test.php5(2): com->com('test_php') #1 {main} thrown in c:\http\WWW\zorha\test.php5 on line 2


 
Ma question c'est de savoir ou je place ma dll. /windows/ , windows/system32/
 
Je suis un peut perdu.  
 
avec ça sa fonctionne.

Code :
  1. $excel = new COM("excel.application" ) or die("Unable to instanciate excel" );
  2.    print "Loaded excel, version {$excel->Version}\n";


J'ai testé avec la fonction DOTNET en php mais ça me retourne le même message d'erreur.
En faite le problème ne provient pas de php, je pense plus que c'est du au faite que je ne sais pas placer ma dll ou j'ai du rater des étapes. :(

Message cité 1 fois
Message édité par Berceker United le 29-06-2006 à 14:34:38
Reply

Marsh Posté le 29-06-2006 à 12:07:11   

Reply

Marsh Posté le 29-06-2006 à 18:58:58    

Salut,
Je connais pas grand chose en COM, mais ton code en C# m'a l'air de ne rien a voir avec un objet COM!
regarde la MSDN pour savoir comment on fait un objet COM.

Reply

Marsh Posté le 29-06-2006 à 20:20:34    

Berceker United a écrit :


 
Ma question c'est de savoir ou je place ma dll. /windows/ , windows/system32/
 
Je suis un peut perdu.  
 


salut
ce que tu as créé n'est pas une dll COM, mais une simple assembly .NET qui n'a strictement rien à voir. je vais pas te faire un cours de Win32, mais une dll COM doit implémenter des interfaces héritant de IUnknown et autres joyeusetés ! je remercierais jamais assez Microsoft de nous avoir débarrassé de cet enfer en créant .NET
 
si tu veux utiliser une assembly .NET avec PHP, tu dois lui donner un nom fort, créer la bibliothèque de classes correspondante (via regasm), la placer dans le GAC (pour qu'elle soit accessible de n'importe quel le application de ton système, là encore merci Microsoft, fini les dll dans %SYSTEM%, tout est centralisé), bref ça ne se résume pas à créer et copier la dll.
 
en googlant, je suis tombé sur ça qui devrait t'éclairer : http://www.devarticles.com/c/a/PHP [...] ly-in-PHP/


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed