cs_Daemon80
Messages postés33Date d'inscriptionmercredi 21 décembre 2011StatutMembreDernière intervention21 juin 2012
-
5 avril 2012 à 16:41
cs_Daemon80
Messages postés33Date d'inscriptionmercredi 21 décembre 2011StatutMembreDernière intervention21 juin 2012
-
3 mai 2012 à 10:28
Bonjour à tous.
J'expose mon problème.J'essaie dans du php d'implémenter une dll codé en VB, grâce à ce bout de code :
<?php
$MADLL = new COM('MADLL.Class1') or die ("Impossible d'instancier la dll");
?>
Seulement voila, il me retourne l'erreur suivante :
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `MADLL.Class1': Syntaxe incorrecte ' in C:\Program Files\EasyPHP-5.3.9\www\test.php:2 Stack trace: #0 C:\Program Files\EasyPHP-5.3.9\www\test.php(2): com->com('MADLL.Class1') #1 {main} thrown in C:\Program Files\EasyPHP-5.3.9\www\test.php on line 2
Pour information je l’exécute avec Wamp.
N'étant pas un expert en php, quelqu'un saurait d’où pourrait provenir ce problème?
Merci de vos réponses.
NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 11 avril 2012 à 12:49
Bonjour,
En .NET, ce n'est pas RegSvr qu'il faut utiliser, mais :
msdn.microsoft.com/en-us/library/tzat5yw6(v=vs.71).aspx
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 12 avril 2012 à 18:29
Bonjour,
C:\Users\Administrateur\Documents\Visual Studio 2008\Projects\MADLL\MADLL\bin\Release\MADLL.dll
Contient des espaces, mets "
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\regasm.exe "C:\Users\Administrateur\Documents\Visual Studio 2008\Projects\MADLL\MADLL\bin\Release\MADLL.dll"
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 13 avril 2012 à 12:10
Bonjour,
Voir, si tu arrives à appeler tes fonctions sans pb, pas de soucis à te faire, sinon, un Warning n'est pas une erreur, mais peut en cacher une.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 5 avril 2012 à 19:35
Bonjour,
Quelle version de VB ?
Es-tu sûr d'avoir les runtimes/framework adéquate ?
Comment est constitué ta DLL ?
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
cs_Daemon80
Messages postés33Date d'inscriptionmercredi 21 décembre 2011StatutMembreDernière intervention21 juin 2012 6 avril 2012 à 09:19
Bonjour,
J'utilise la version 2008 de VB.
Ma DLL est constitué de fonctions qui gère l'affichage de différentes dates et elle gère également des opérations.
Que veux-tu dire par runtimes/framework? Histoire que je puisse résoudre mon problème tout en comprenons.
Merci de ta réponse.
NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 6 avril 2012 à 12:39
Bonjour,
Pour .NET 2008, il faut le framework.NET 3.5.
Ensuite, as-tu enregistré ta DLL (si tu l'a compilée sur la même machine que le serveur, elle l'est, sinon, il faut le faire manuellement (enfin taper la bonne commande).
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
cs_Daemon80
Messages postés33Date d'inscriptionmercredi 21 décembre 2011StatutMembreDernière intervention21 juin 2012 11 avril 2012 à 10:15
Bonjour,
J'ai vérifier et j'ai bien le Framework 3.5 sur VB 2008.
Ensuite oui j'ai bien compilé ma DLL sur ma machine serveur.
Mais le problème persiste, j'ai toujours l'erreur : 'Failed to create COM object `MADLL.Class1'
Peut être un problème venant de WAMP, je ne sais pas :s
Merci encore pour ta réponse.
cs_Daemon80
Messages postés33Date d'inscriptionmercredi 21 décembre 2011StatutMembreDernière intervention21 juin 2012 11 avril 2012 à 10:45
Tout compte fait j'ai voulu vérifier si ma DLL était bien enregistrée et j'ai éxecuté la commande suivante ->'regsvr32 MADLL.DLL'
Il m'affiche une fenêtre avec l'erreur suivante :
Echec de chargement du module "aspSmartUpload.dll"
Vérifiez que le fichier binaire est stocké à l'emplacement désigné par le chemin d'accès spécifié ou déboguez le pour rechercher d'éventuels problèmes de fichiers .DLL binaires ou dépendant.
cs_Daemon80
Messages postés33Date d'inscriptionmercredi 21 décembre 2011StatutMembreDernière intervention21 juin 2012 11 avril 2012 à 15:24
Merci pour ta réponse, mais quand j'utilise 'regasm' dans la ligne de commande, il me dit qu'il n'est pas reconnu.Faut-il l'utiliser dans une ligne de commande propre à VB 2008 tel que Visual Studio 2008 commande prompt ou il y a t-il un autre moyen?
NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 11 avril 2012 à 19:08
Bonjour,
Car, le dossier contenant l’exécutable n'est pas présent dans la variable d'environnement PATH, je crois.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
cs_Daemon80
Messages postés33Date d'inscriptionmercredi 21 décembre 2011StatutMembreDernière intervention21 juin 2012 12 avril 2012 à 14:47
Bonjour,
J'ai cherché l'emplacement de regasm dans le dossier Microsoft.NET et j'ai testé dans la ligne de commande :
C:\Users\Administrateur> C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\regasm.exe (Emplacement de la dll)C:\Users\Administrateur\Documents\Visual Studio 2008\Projects\MADLL\MADLL\bin\Release\MADLL.dll
Il me met l'erreur suivante :
RegAsm : error RA0000 : Impossible de trouver l'assembly d'entrée 'C:\Users\Administrateur\Documents\Visual' ou une de ses dépendances.
cs_Daemon80
Messages postés33Date d'inscriptionmercredi 21 décembre 2011StatutMembreDernière intervention21 juin 2012 26 avril 2012 à 15:39
Bonjour, c'est ok pour le warning mais au niveau de l'appel de fonction en php, comment cela se déroule?Si il y en a qui des tutos concernant ou un cours sa serait gentil, car la niveau php je suis pas au top.
Merci.
NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 26 avril 2012 à 18:45
Bonjour,
Je pense qu'il faut d'abord instancier la classe, puis appeler les membres comme pour une classe PHP.
je n'ai jamais utilisé cela.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---