Créer un Active X

[Résolu]
Signaler
Messages postés
36
Date d'inscription
jeudi 15 novembre 2007
Statut
Membre
Dernière intervention
23 juin 2010
-
Messages postés
36
Date d'inscription
jeudi 15 novembre 2007
Statut
Membre
Dernière intervention
23 juin 2010
-
Bonjour,

voici mon problème :

Je suis actuellement en train de créer un active X. Tout se passe bien j'arrive à créer mes propriétés et mes procédures, pour cela je passe par l'interface MonactiveX_TLB qui me permet d'avoir la liste des propiétés, méthodes etc etc

mais voila, je voudrais maintenant créer une méthode qui aura en paramètre un TMemoryStream.
Un MemoryStream étant propre à delphi je ne peux naturellement pas créer un tel paramètre, Un
TMemoryStream permettant de stocker des données dans un tampon de mémoire.

Ma question est donc : Quel type de paramètre puis je créer dans ma méthode afin datteindre mon MemoryStream ? Je pensais donc eventuellement à récuperer " ladresse mémoire" ( dans le host et non dans l'active X) de mon MemoryStream et donc ainsi avoir un un param de type Long dans ma méthode de l'active X. ( je ne sais pas si je suis bien clair dans mes explications).

Mais quelle proprièté d'un MemoryStream me permet de récuperer l'adresse mémoire lui correspondant ? est-il possible de faire comme cela ?

Je vous avoue etre un peu perdu sur la facon à utiliser pr atteindre mon stream.

si vous pouvez m'aiguiller sur une idée ..

D'avance merci

R.

3 réponses

Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
Procedure InputStream(const Buffer: pointer; const BufferSize: integer);
--->
MemoryStream.Write(Buffer^; BufferSize);

Procedure OutputStream(out Buffer: Pointer; out BufferSize: integer);
--->
Buffer := MemoryStream.Memory;
BufferSize := MemoryStream.Size;

<hr size="2" width="100%" />
http://deefaze.gnomz.com
Messages postés
36
Date d'inscription
jeudi 15 novembre 2007
Statut
Membre
Dernière intervention
23 juin 2010

merci pr cette réponse rapide. Je pense que c'est ce qu'il me faut.

Derniere question : comment déclarer un pointeur lorsque je crée mon active X ?

car pr Str ==> BSTR
          int ==> Long
         Pointer ==> ???
Messages postés
36
Date d'inscription
jeudi 15 novembre 2007
Statut
Membre
Dernière intervention
23 juin 2010

J'ai peu etre trouvé :  long*.

par contre un pointeur de char serait peu etre mieux, mais je ne trouve pas "char" dans la liste .. si vous avez une idée .. :)