PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → utiliser une fonction d'une dll windev dans un programme .net
utiliser une fonction d'une dll windev dans un programme .net
Débuté par guest, 30 nov. 2004 13:52 - 6 réponses
Posté le 30 novembre 2004 - 13:52
salut le groupe.

Je ne suis absolument pas un développeur Winev, et je ne sais rien de ce langage.

je développe en .net, une application qui acquisitionne et traite des données, pour ensuite les transmettre (sous une forme utilisable a définir en texte ou xml) a un programme WinDev.

Idéalement le composant que je creer utilise un delegué d'évenement pour transmettre les données. (un delegué en .net est plus ou moins un pointeur sur fonction)
une fonction WinDev qui correspond au prototype du délégué est alors appelée, par l'intermédiaire de cet evenment.

ma question est donc peut on importer dans un langage .net une fonction d'une Dll Windev (a supposé que les Dll existent dans ce langage), de la même facon qu'on le ferait pour une fonction d'une DLL C/C++ ?

Un lien d'exemple en C# qui appelerait une fonction d'une DLL WinDev serait le bien venu, mais j'en demande surement de trop.

Comme tous les posts des forum, ceci est bien entendu aussi urgent que vous pouvez l'imaginer :)

merci pour votre aide,
ROM
Posté le 30 novembre 2004 - 13:20
Salut,
Premièrement, en windev il n'est malheureusement pas possible de développer
"une DLL classique"
La personne qui connaît Windev va se créer une classe windev dans laquel il
y aura une fonction avec un paramètre de type chaine. (Normalement en
windev, il n'est pas nécessaire de paramétrer les fonctions, or lorsque les
fonctions seront intégrées dans un assemblage .NET, elles doivent l'être ex
de prototype: PROCEDURE mafonction(LOCAL machaine est une chaine) cette
fonction affichera la chaine dans un messagebox: info(machaine)). Ensuite
lorsque la fonction sera complétée. Il sera possible de créer une dll .NET.
Pour ce qui est de l'accès à la dll à partir de vb je ne peux pas t'aider.

Mathieu


"ROM" <guest@newsgroup.fr> a écrit dans le message de news:
41ac7fa2$1@news.pcsoft.fr...


Merci de ta réponse

Mais j'avoue que j'ai un peu de mal a cerner le truc.
L'idéal pour moi serait que la dllexpose une fonction qui prendrait en
paramètre une chaine de caractère et effectuerai le traitment. (Je ne
maitrise pas ce traitement, juste l'envoie du paramètre.)
La personne chez mon client qui va developper ceci ne connais pas plus
.net que moi WinDev.

Cette personne pour la première phase de faisabilité, va developper une
DLL classique WinDev en langage qui affiche une messageBox affichant la
chaine de caractère passée en paramètre.
Cette personne va donc ecrire du code WinDev qui sera compilé en .net ?
ou ecrire du WinDev qui sera compilé en WinDev ?


ROM
Posté le 30 novembre 2004 - 15:35
Salut

Tu peux générer un assemblage .NET, ce qui devrais être encore mieux pour toi qu'une DLL, puisque tu es déjà en .NET .



Ciao
http://wdgotcha.atspace.com
Posté le 30 novembre 2004 - 16:54
Merci de ta réponse

Mais j'avoue que j'ai un peu de mal a cerner le truc.
L'idéal pour moi serait que la dllexpose une fonction qui prendrait en paramètre une chaine de caractère et effectuerai le traitment. (Je ne maitrise pas ce traitement, juste l'envoie du paramètre.)
La personne chez mon client qui va developper ceci ne connais pas plus .net que moi WinDev.

Cette personne pour la première phase de faisabilité, va developper une DLL classique WinDev en langage qui affiche une messageBox affichant la chaine de caractère passée en paramètre.
Cette personne va donc ecrire du code WinDev qui sera compilé en .net ?
ou ecrire du WinDev qui sera compilé en WinDev ?


ROM
Posté le 30 novembre 2004 - 21:45
Depuis WinDev, tu peux justement générer des DLL .NET depuis le menu Atelier
de WinDev.
Qui dit .NET dit complement compatible avec ton développement actuel.
En effet, cette DLL est au standard .NET donc tu la manipule depuis ton code
comme si c'etait une DLL .NET en C ou autre.

Antoine

Mathieu Kurth wrote:
Salut,
Premièrement, en windev il n'est malheureusement pas possible de
développer "une DLL classique"
La personne qui connaît Windev va se créer une classe windev dans
laquel il y aura une fonction avec un paramètre de type chaine.
(Normalement en windev, il n'est pas nécessaire de paramétrer les
fonctions, or lorsque les fonctions seront intégrées dans un
assemblage .NET, elles doivent l'être ex de prototype: PROCEDURE
mafonction(LOCAL machaine est une chaine) cette fonction affichera la
chaine dans un messagebox: info(machaine)). Ensuite lorsque la
fonction sera complétée. Il sera possible de créer une dll .NET.
Pour ce qui est de l'accès à la dll à partir de vb je ne peux pas
t'aider.

Mathieu


"ROM" <guest@newsgroup.fr> a écrit dans le message de news:
41ac7fa2$1@news.pcsoft.fr...


Merci de ta réponse

Mais j'avoue que j'ai un peu de mal a cerner le truc.
L'idéal pour moi serait que la dllexpose une fonction qui prendrait
en paramètre une chaine de caractère et effectuerai le traitment.
(Je ne maitrise pas ce traitement, juste l'envoie du paramètre.)
La personne chez mon client qui va developper ceci ne connais pas
plus .net que moi WinDev.

Cette personne pour la première phase de faisabilité, va developper
une DLL classique WinDev en langage qui affiche une messageBox
affichant la chaine de caractère passée en paramètre.
Cette personne va donc ecrire du code WinDev qui sera compilé en
.net ?
ou ecrire du WinDev qui sera compilé en WinDev ?


ROM
Posté le 30 novembre 2004 - 23:50
Bonjour,

Effectivement WinDev à partir de la version 8 permet de créer des
assemblages.net.

Pour votre client qui doit écrire son code via une classe ou bien une
collection de procédure
Par défaut les paramètres des fonctions , procédures ou méthodes sont
passées par référence par défaut.
Dans le cas contraire il suffit de mettre LOCAL devant le nom du paramètre
pour qu'il soit passé par valeur.

Les fonctions et procédures ecrites dans une collection de procédures se
comporte comme des fonctions shares du DotNet

Du coté DotNet:
Référencé l'assemby DotNet créer avec WinDev comme tout autre assembly
DotNet.
Par défaut le NameSpace créer par WinDev est nomé WL

Par conséquent vous n'avez juste qu'à effectuer l'import du WL pour accéder
aux collections de procédure écrites en WLangage.
Import du WL
using WL;


Prenons pour exemple une fonction nommé MaProcedure(Param1,Param2) pour la
collection Nommé gPROC
WL.gPROC.MaProcedure(<Param1>,<Param2)

Utilisation d'une classe cTest
WL.cTest myTest;
myTest.MaMethode(<Param>)


En Espérant vous avoir aider
co-animateur www.WDForge.org
Carlos,

"ROM" <guest@newsgroup.fr> a écrit dans le message de news:
41ac5507@news.pcsoft.fr...


salut le groupe.

Je ne suis absolument pas un développeur Winev, et je ne sais rien de ce
langage.

je développe en .net, une application qui acquisitionne et traite des
données, pour ensuite les transmettre (sous une forme utilisable a définir
en texte ou xml) a un programme WinDev.

Idéalement le composant que je creer utilise un delegué d'évenement pour
transmettre les données. (un delegué en .net est plus ou moins un pointeur
sur fonction)
une fonction WinDev qui correspond au prototype du délégué est alors
appelée, par l'intermédiaire de cet evenment.

ma question est donc peut on importer dans un langage .net une fonction
d'une Dll Windev (a supposé que les Dll existent dans ce langage), de la
même facon qu'on le ferait pour une fonction d'une DLL C/C++ ?

Un lien d'exemple en C# qui appelerait une fonction d'une DLL WinDev
serait le bien venu, mais j'en demande surement de trop.

Comme tous les posts des forum, ceci est bien entendu aussi urgent que
vous pouvez l'imaginer :)

merci pour votre aide,
ROM

Posté le 04 décembre 2004 - 11:18
J'aurais voulu savoir s'il est possible de créer une dll en windev
mais nTier que n'importe quel appli puisse l'utiliser non que .net.

Du style delphi,foxpro et etc..... puissent utiliser une dll que l'on aura
créer sous windev.

Est ce que cela est possible ?

ET dans quel version de windev

olivier



"Antoine" <antoine.info.dev@free.fr> a écrit dans le message de news:
41acc4bb@news.pcsoft.fr...
Depuis WinDev, tu peux justement générer des DLL .NET depuis le menu
Atelier
de WinDev.
Qui dit .NET dit complement compatible avec ton développement actuel.
En effet, cette DLL est au standard .NET donc tu la manipule depuis ton
code
comme si c'etait une DLL .NET en C ou autre.

Antoine

Mathieu Kurth wrote:
Salut,
Premièrement, en windev il n'est malheureusement pas possible de
développer "une DLL classique"
La personne qui connaît Windev va se créer une classe windev dans
laquel il y aura une fonction avec un paramètre de type chaine.
(Normalement en windev, il n'est pas nécessaire de paramétrer les
fonctions, or lorsque les fonctions seront intégrées dans un
assemblage .NET, elles doivent l'être ex de prototype: PROCEDURE
mafonction(LOCAL machaine est une chaine) cette fonction affichera la
chaine dans un messagebox: info(machaine)). Ensuite lorsque la
fonction sera complétée. Il sera possible de créer une dll .NET.
Pour ce qui est de l'accès à la dll à partir de vb je ne peux pas
t'aider.

Mathieu


"ROM" <guest@newsgroup.fr> a écrit dans le message de news:
41ac7fa2$1@news.pcsoft.fr...


Merci de ta réponse

Mais j'avoue que j'ai un peu de mal a cerner le truc.
L'idéal pour moi serait que la dllexpose une fonction qui prendrait
en paramètre une chaine de caractère et effectuerai le traitment.
(Je ne maitrise pas ce traitement, juste l'envoie du paramètre.)
La personne chez mon client qui va developper ceci ne connais pas
plus .net que moi WinDev.

Cette personne pour la première phase de faisabilité, va developper
une DLL classique WinDev en langage qui affiche une messageBox
affichant la chaine de caractère passée en paramètre.
Cette personne va donc ecrire du code WinDev qui sera compilé en
.net ?
ou ecrire du WinDev qui sera compilé en WinDev ?


ROM