Pas de problème (pb), que du PowerBuilder (PB) ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 13-07-2007 08:43:07

mial  
White & The Farmerz Gang
Lieu: Nancy
Date d'inscription: 09-02-2007
Messages: 113
Pépites: 4,366
Banque: 18,191,568,319,324

Creation et utilisation d'une DLL

Bonjour,

Nous utilisons une dll pour gérer nos envois de mails et le cryptage de nos données. Elle a été crée par un ancien developpeur de la boîte et comme personne ne fait du C++, on m'a fait comprendre que je suis maintenant le responsable des sources..

Je connais un peu C++ mais beaucoup moins son utilisation dans PB. Pour l'instant, dans notre code PB, nous avons un objet dedié ayant pour propriétés des OLEobject. Je suis censé rajouté une fonction dans le code C++ et y faire appel dans notre code PB.

La dll possède une vingtaine de classe. Il semble que les OLEObjects correspondent chacun à une classe mais n'ont pas forcement le même nom.

J'aimerais comprendre ce qui se passe lors de l'enrgistrement d'une DLL. Le peu que je connaisse est qu'il enregistre dans le regedit des liens vers les fonctions de la DLL. Comment retrouver les objets disponibles et ou se font ces enregitrements dans le code C++ (le mapping entre la classe C++ et l'objet OLE)?

Le sujet me paraît tres vaste et assez complexe. Toute information est la bienvenue!

Merci

Hors ligne

 

#2 16-07-2007 09:34:35

mial  
White & The Farmerz Gang
Lieu: Nancy
Date d'inscription: 09-02-2007
Messages: 113
Pépites: 4,366
Banque: 18,191,568,319,324

Re: Creation et utilisation d'une DLL

Pas de réponse, je me permets un Up du topic parcqu'il s'agit d'un problème bloquant pour moi.

Je me suis plongé un peu plus dans le code existant et voici le fonctionnement :

Oleobject SMTP
smtp.ConnectToNewObject("FlxTBox.SMTPLevel.1")<> 0

Il existe une classe SMTPLevel dans notre dll Flxtbox. Donc jusque la ca parait clair.

Utilisation de fonctions de la classe SMTPLevel : smtp.Connect() ou smtp.send()

Ce que je trouve plus etrange, c'est l'utilisation qui suit :

smtp.Xmailer = "..." ou smtp.host=ls_host

sachant que la classe en C++ ne possède pas de tels attributs. En tout cas, pas de variable 'host' avec cette syntaxe, seulement deux fonctions et un attrbitut correspondants : variable 'm_bstHost' et fonctions : get_Host() et put_Host().

Cette classe en C++ hérite de plusieurs interfaces qui ne possèdent donc pas d'attributs, seulement des decalarations de fonctions vides.

J'ai donc essayé de créer une fonction pour SMTPLevel et d'y faire appel dans mon code PB et impossible...une erreur est générée.

Il s'agit de l'unique fonction a ne pas dériver de l'ancêtre. Je ne comprends pas pourquoi je ne peux pas l'utiliser.

Le moindre document sur le sujet m'interesse!

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22