Declaration function dll vb dans delphi

raylp Messages postés 10 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 25 avril 2005 - 7 juin 2003 à 01:54
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 - 9 juin 2003 à 14:52
salut à tous

je voudrais me servir d'une function presente dans une dll
developpé en vb

declaration de la function sous vb

Public Declare Function traitext Lib "trtext.dll" (lparamtext As Paramtext) As Integer

Public lparamtext As Paramtext

Public Type Paramtext
textIn As String * 32
Entree As String * 64
textOut As String * 32
Sortie As String * 64
End Type

si une personne pouvait m'aider pour declarer cette function sous delphi
merci d'avance
raylp

9 réponses

cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
7 juin 2003 à 13:33
Apparemment, il faut déjà que tu redéclare ton type ParamText en Delphi dans ton unité...

Je ne connais pas beaucoup VB, mais ça doit être ça :
type
  TParamText = Record
    TextIn: String[32];
    Entree: String[64];
    TextOut: String[32];
    Sortie: String[64];
  end;


Ensuite, tu déclares la fonction :
Function traitext(lparamText: TParamText): Integer; external 'trtext.dll';


Je pense que ce code marchera... Mais il est possible que non, car je ne suis pas sûr que mon record corresponde exactement à ton type en VB...

Voilà !
Bonne prog' !
[mailto:bestiol@cario.fr Bestiol.]
0
raylp Messages postés 10 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 25 avril 2005
7 juin 2003 à 16:51
Merci Bestiol pour ta reponse je vais tester
Apres pour se servir de la function comment declare t'on les rubriques?

traitext(.? );
encore merci pour le debut, je suis un peu dans le flou pour se servir d'une function avec des parametres et non avec des rubriques
0
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
7 juin 2003 à 18:09
Bonjour !

Pour utiliser la fonction, il faut que tu déclares une variable de type TParamText :
var lparamText: TParamText;


Ensuite, tu remplis ta variable avec les données qu'il faut :
lparamText.TextIn :=  'truc';
lparamText.TextOut := 'Machin';


Enfin, tu utilises la fonction :
traitext(lparamText);


Voilà, j'espère que ça va t'éclairer !!
[mailto:bestiol@cario.fr Bestiol. ]
0
raylp Messages postés 10 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 25 avril 2005
8 juin 2003 à 15:30
salut bestiol
pour la function c'est ce que j'ai fait , le probleme c'est que sa me fait des violations d'acces, c'est pour cela que j'ai posé la question , je pense que cela doit venir de la declaration de la longueur des strings, qu'en pense tu ?
raylp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
8 juin 2003 à 15:57
Ca doit effectivement être au niveau des string... Que veut dire le "* xx" à côté des déclarations en VB ?!

@+
[mailto:bestiol@cario.fr Bestiol.]
0
raylp Messages postés 10 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 25 avril 2005
8 juin 2003 à 17:43
le * xx est la longueur du string en vb
0
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
8 juin 2003 à 18:14
Donc c'était presque bon !! J'ai oublié un truc, c'est qu'on ne peut pas utiliser les string comme ça, avec les DLLs !

Essaye en déclarant tes variables en tant que Array[1..xx]Of Char !

J'espère que ça marchera !
[mailto:bestiol@cario.fr Bestiol.]
0
raylp Messages postés 10 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 25 avril 2005
9 juin 2003 à 13:27
merci beaucoup de ton aide Bestiol
en declarant en array....
ça fonctionne
bien entendu j'ai adapté le reste
encore merci
raylp :)
0
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
9 juin 2003 à 14:52
Y a pas de quoi !!

Au plaisir, et bonne prog' ! :big)
[mailto:bestiol@cario.fr Bestiol.]
0
Rejoignez-nous