PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Code C# 64-bit dans WD25 83F
Code C# 64-bit dans WD25 83F
Débuté par Patrice TERRIER, 29 mar. 2020 12:10 - 9 réponses
Membre enregistré
150 messages
Popularité : +15 (15 votes)
Posté le 29 mars 2020 - 12:10
J'ai voulu tester la possibilité d'inclure des fonctions C# (64-bit) avec la version 83F, mais sans succès.
J'utilise pour mes tests cette fonction globale toute simple :

public static int Test(int nA, int nB)
{
int nRet = nA + nB;
return nRet;
}

Je précise que j'utilise la dernière version de Visual Studio, donc le dernier framework DotNET est bien installé sur ma machine.

--
Patrice Terrier
www.zapsolution.com
Membre enregistré
962 messages
Popularité : +183 (185 votes)
Posté le 30 mars 2020 - 07:31
hello,

Patrice TERRIER a écrit :
> J'ai voulu tester la possibilité d'inclure des fonctions C# (64-bit) avec la version 83F, mais sans succès.

sans succès ? c'est à dire :
- Impossible d'inclure l'assemblage dans le projet ?
- Erreur pendant la compilation du projet ? Dans ce cas message(s) d'erreur.
- Erreur pendant l'exécution du projet ? Dans ce cas message(s) d'erreur.

Pour l'assemblage dotnet quel type de framework cible utilises-tu ?
.NET Standard ? exemple : netstandard2.1
.NET Core ? exemple : netcoreapp3.1
.NET Framework ? exemple : net40

--
Ami calmant, J.P
Membre enregistré
3 883 messages
Popularité : +227 (347 votes)
Posté le 30 mars 2020 - 08:42
Bonjour,
Question bête, mais on ne sait jamais
Es-tu bien passé en mode C# ?





--
Il y a peut être plus simple, mais, ça tourne
Posté le 30 mars 2020 - 11:41
Je clique sur la petite icone qui se trouve au dessus du nom de la procedure/function laquelle permet de basculer entre code [WL] et code [C#].
Le code WL est alors mis en commentaire et une procédure void est créée avec le même nom.
Je créé alors une fonction de type "int" et je saisis le code en utilisant la syntaxe du C#.
Dès que je teste l'application WinDev plante complètement sans message d'erreur.
D'une façon générale l'éditeur en version 25 est très instable, j'ai perdu plusieurs fois le code que j'étais entrain de saisir.

Je précise que je ne cherche pas à inclure un assemblage dans le projet.
Simplement je veux écrire mes procédures ou mes fonctions en utilisant la syntaxe du C# au lieu du WL, puisque normalement c'est possible depuis la version 23.

Enfin j'utilise le mode 64-bit.
Je précise que toutes les versions de Visual Studio sont installées sur ma machine de développement, depuis VS 2005 jusqu'à VS 2019.

Si j'ai pris soin de sauvegarder mon code et que je redémarre WinDev, je suis alors capable de tester l'application en mode GO. Mais si jamais je n'ai pas fait de sauvegarde au préalable, tout le code que je veux tester est alors perdu.

j'ai réussi à voir dans le dossier EXE le batch créé à la volée par WinDev pour utiliser CSC en mode de commande pour générer le code IL (avec les fichiers "mon_code.dll" + "wd250net2_64.dll").
Posté le 30 mars 2020 - 12:08
J'ai utilisé le terme inclure, mais c'est écrire qu'il faut lire.

Voir l'exemple de la function C# de type int, qui se trouve dans mon premier post.

Essayez d'appeler cette petite fonction toute bête en mode 64-bit et dites moi ce qui se passe chez vous.
Posté le 30 mars 2020 - 12:11
J'ai utilisé le terme "nclure", mais c'est "écrire" qu'il faut lire.

Voir l'exemple de la function C# de type int, qui se trouve dans mon premier post.

Essayez d'appeler cette petite fonction toute bête en mode 64-bit et dites moi ce qui se passe chez vous.
Posté le 30 mars 2020 - 12:13
J'ai utilisé le terme inclure, mais c'est écrire qu'il faut lire.

Voir l'exemple de la function C# de type int, qui se trouve dans mon premier post.

Essayez d'appeler cette petite fonction toute bête en mode 64-bit et dites moi ce qui se passe chez vous.
Posté le 30 mars 2020 - 12:15
J'ai utilisé le terme inclure, mais c'est écrire qu'il faut lire.

Voir l'exemple de la function C# de type int, qui se trouve dans mon premier post.

Essayez d'appeler cette petite fonction toute bête en mode 64-bit et dites moi ce qui se passe chez vous.
Membre enregistré
962 messages
Popularité : +183 (185 votes)
Posté le 31 mars 2020 - 07:18
hello,
désolé mais je n'ai que la version jurassique Windev 16 qui ne contient pas ces fonctionnalités. En tout cas en créant un assemblage dotnet avec visual studio code, qui contient la fonction et en le compilant en net40, dans un projet windev 64 bits où j'inclus l'assemblage, je peux utiliser la fonction sans problème.

--
Ami calmant, J.P
Posté le 31 mars 2020 - 12:42
Merci pour votre retour.
Mais je suis entrain de faire un audit de la version 25, je teste donc tout particulièrement les nouvelles fonctions.
L'écriture directe de code C# en remplacement du WL ne peut donc pas être testé ni en 16 ni en 17 que j'utilisais jusqu'à présent. Mais on m'a fourni une licence 25 pour faire cette évaluation alors je continue mes tests...