Salut,
J'aimerais savoir si il est possible aussi d'utiliser le débogueur ? Vous savez l’outil de développement web qu'on obtient quand on tape sur F12 ?
Bonjour,
L'un d'entre vous à t-il réussit à utiliser/initialiser un proxy avec CefSharp directement sous Windev (sans passer par une DLL intermédiaire) ?
Le ".Add" n'est pas reconnu dans Windev sur CefCommandLineArgs :
Voir aussi ça : cefsharp-3-set-proxy-at-runtime, mais j'ai pas non plus trouvé comment accéder aux objets depuis Windev.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 settings est un CefSettings() settings.CefCommandLineArgs.Add("proxy-server", ProxyAddress) Cef.Initialize(settings)
Merci pour l'info, donc à priori non disponible sur la version 39 sur laquelle je suis.
J'ai réussit sur la 39 avec un cast dynamique :
J'ai essayé avec la version 47 les paramètres CommandLineArgs sont bien pris en compte, mais la mise en place du proxy via cette méthode ne fonctionne pas ("proxy-server")(page blanche) !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 clSettings est un CefSettings pclCommandLineArgs est un "Dictionary<string,string>" dynamique = clSettings.CefCommandLineArgs pclCommandLineArgs.Add("proxy-server", ProxyAddress) Cef.Initialize(clSettings)
hello,
je viens d'essayer ce code pour passer par un proxy http :
et avec un proxy socks5 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 settings est un CefSettings() settings.CefCommandLineArgs.Add("proxy-server","http://87.98.147.195:3028") SI PAS Cef.IsInitialized ALORS Cef.Initialize(settings) FIN
Cela fonctionne chez moi en windev16 Chromium 51.0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 settings est un CefSettings() settings.CefCommandLineArgs.Add("proxy-server","socks5://188.120.236.14:80") SI PAS Cef.IsInitialized ALORS Cef.Initialize(settings) FIN
Attention quand j'ai un souci avec le serveur proxy du genre connexion refusée, il y a cela dans les traces de l'événement FrameLoadEnd au lieu de l'URL demandée :
Ami calmant, J.PFrame Url ? : data:text/html,chromewebdata
Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko
hello,
pour ceux que ça intéresse grâce à CEFSharp et à la bibliothèque Javascript 3D opensource (licence MIT) ThreeJs on peut faire du 3D dans windev.
ThreeJS :
Pour l'utiliser avec Windev et CEFSharp :Three.js est une bibliothèque JavaScript pour créer des scènes 3D dans un navigateur web. Elle peut être utilisée avec la balise canvas du HTML5 sans avoir besoin d'un plugin. Le code source est hébergé sur le GitHub de son créateur mrDoob.
Son principe est d'être accessible à tout le monde, elle permet des rendus en webGL, CSS3D et SVG.
La bibliothèque contient par exemple les fonctionnalités suivantes :
Animation par squelette
LOD (niveau de détails pour les objets)
Chargement de fichiers au formats .OBJ, .JSON, .FBX
Système de particules (pour par exemple simuler la neige, le feu, etc.)
1 - Télécharger le zip de la bibliothèque ici (download). Attention le fichier fait plus de 160 Mo. Cela peut paraître énorme mais c'est à cause des exemples qui se trouvent dedans.
2 - Décompresser le fichier zip. Il suffit alors de charger dans sa fenêtre avec le contrôle navigateur Chromium le fichier three\editor\index.html pour avoir l'éditeur 3D ou le fichier three\examples\index.html pour avoir accès à l'ensemble des exemples.
Voici ce que cela donne pour l'éditeur dans une fenêtre windev (windev 16 - chromium 51) :
voici une démo vidéo de ce que l'on peut faire avec l'éditeur 3D :
et un exemple :
Ami calmant, J.P
Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko
hello,
Bastiencb, tout d'abord merci pour cette contribution. Dans le cadre de mon test de la librarie three.js, j'ai été amenu à utiliser le gestionnaire de téléchargement que tu as rajouté, sinon je ne pouvais rien sauvegarder dans mon éditeur 3D Three.js. Cependant, j'avais un plantage systématique quand je passait dans la procédure Event_OnDownloadUpdated. En fait c'était le Renvoyer void qui me faisait planter. Je l'ai tout simplement supprimé (une procédure void en principe ne renvoie rien) et je n'ai plus de plantage :
Je ne sais pas si LoicOuest à réussi à utiliser ton code car depuis son je vais tester cela on a plus de nouvelles de lui
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 PROCEDURE Event_OnDownloadUpdated(Src,Args est un WdCef.OnDownloadUpdatedEventArgs) //https://github.com/cefsharp/CefSharp/blob/master/CefSharp/DownloadItem.cs sErreur est une chaîne SI Src = Null _OU_ Args = Null _OU_ Args.ToString() <> "WdCef.OnDownloadUpdatedEventArgs" ALORS sErreur = Args.ToString() SINON QUAND EXCEPTION DANS iPourcentage est un entier sPath est une chaîne sSuggestedFileName est une chaîne iPourcentage = Args.downloadItem.get_PercentComplete() sPath = Args.downloadItem.get_FullPath() sSuggestedFileName = Args.downloadItem.SuggestedFileName SI Args.downloadItem.IsComplete _OU_ Args.downloadItem.IsCancelled ALORS //Faire quelque chose SINON SI Args.downloadItem.IsInProgress ALORS //Faire quelque chose FIN FIN FAIRE Erreur(sErreur+RC+RC+ExceptionInfo(errComplet)) FIN FIN
Comme ma configuration doit être différente de la tienne peut être que chez toi cela marche avec ton code.
Ma config : Windev16 32 bits windows 7 . J'ai recompilé l'assemblage dotnet windevnet d'après tes sources avec visualstudio 15 et je l'ai appelé wdCef (pour avoir un nom explicite d'assemblage) comme on peut le constater dans le code ci-dessus (WdCef au lieu de windevnet).
D'autre part avec windev16, je n'ai pas l'événement Fin d'initialisation de la fenêtre . J'ai mis tout simplement ton code à la fin du code d'initialisation de la fenêtre et suite à la remarque d'Ochoteau dans la discussion, sans utiliser WDNethelpers, ce qui donne à la fin de la procédure d'initialisation de la fenêtre :
Ami calmant, J.P
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 goBrowser.Dock = DockStyle.Fill //WinForm1 est le nom du champ .NET 2.0 goBrowser.Parent = WinForm1 Fenêtre1..Titre += " version "+Cef.ChromiumVersion +"-"+ Cef.CefVersion+"-"+Cef.CefSharpVersion
Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko
Bonjour,
Mon application intégrant ce package (et CKEditor) est distribuée depuis plusieurs mois et globalement, je n'ai pas rencontré de gros bugs. Merci encore pour votre contribution.
Chez certains utilisateurs cependant, l'application plante au 1er lancement suivant l'installation avec un message d'erreur Windows demandant de verifier que les classes .Net et cSharp sont bien installées
Mon fichier d'installation inclus l'installation automatique du C++ redistribuable 2013 et chez ces utilisateurs, j'ai pu vérifier que cette installation c'était bien déroulé, comme chez les autres.
Pour corriger ce défaut, chez ces utilisateurs, je suis obligé de leur demander de télécharger la version 2010 du C++ redistribuable chez MS et de l'installer.
Cette même version 2010 ne fonctionne pas chez d'autres utilisateurs (chez qui la 2013 fonctionne par contre).
Je n'arrive pas à trouver le dénominateur commun, ou une spécificité des versions de Windows qui pourrait me permettre d'automatiser le choix entre le V 2010 ou 2013 du C++. Ou mieux de trouver une version qui fonctionnerait chez tout le monde.
Avez vous déjà été confronté à ce genre de problème et si oui, comment le gérez vous ?
Crdlt
Franck
Merci pour ton retour Franck.
Ton problème est peut-être dû à la version du package .Net qui est sur la machine.
Selon les mises à jour installées, tu peux avoir différentes versions et donc besoin des DLL plus anciennes, je ne vois que ça.
Si tu ne veux pas de problème de ce genre, alors installe le dernier framework .Net de partout en même temps que ton application, il existe une installation silencieuse (voir les paramètres).
A bientôt, Patrick
Tu as sans doute raison Patrick, je vais essayer ça, même si ça m'embête un peu de grossir encore plus mon package d'installation...
Merci.
Pour ma part j’intègre dans mon installeur toutes les dlls de VC++ (qui seront placées à côté de mon exécutable), donc comme ça pas besoin d'installation des runtimes VC++ sur le poste client (attention à la version des dlls 32/64bits).
De plus ces DLLs (à côté de l'exe) sont pris en priorités sur celles installées sur le poste client (c:\windows\...) donc moins de problèmes de compatibilité aussi !
DLL VC++ : mfc*.dll, msv*.dll, vc*.dll
hello,
voilà ce que dit wikipédia concernant les bibliothèques microsoft vc++ en fonction du framework dotnet :
Pour connaître quelle(s) version(s) du Framework est(sont) installée(s) sur un poste Windows, il suffit de consulter le répertoire C:\WINDOWS\Microsoft.NET\Framework (chaque sous-répertoire non vide correspondant à une version présente) .
Versions du framework .NET Version CLR Sortie Livré avec
Visual StudioPréinstallé avec Windows 3.5 2.0 9 novembre 2007 2008 7 4.0 4 12 avril 2010 2010 NC 4.5 4 15 août 2012 2012 8 4.5.1 4 17 octobre 2013 2013 8.1 4.5.2 4 5 mai 2014 NC NC 4.6 4 20 juillet 2015 2015 10 4.6.1 4 17 novembre 2015 2015 U1
La dernière affirmation n'est pas forcément vraie car sur mon poste j'ai la 4.5 et la 4.6.1 installées mais ils ne sont pas dans le répertoire C:\WINDOWS\Microsoft.NET\Framework. De plus j'ai un répertoire Framework et un Framework64. La méthode la plus fiable semble être la base de registres voir ici
Ami calmant, J.P
Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko
hello ochoteau,
je viens de tester sur mon poste , la fonction ne m'a pas renvoyé la 4.5 et la 4.6.1 . La fonction n'utilise peut être que la présence dans le répertoire (du moins avec la version de windev que j'ai windev 16 à vérifier avec les dernières versions de windev). Il faudrait alors se pencher sur la méthode par la base de registres (lien dans mon message précédent).
Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko
Merci pour l'info, effectivement DotNetVersion (Windev 19/21) renvoi seulement : 2.0.50727, 3.0, 3.5, 4, 4.0
Effectivement depuis la 4.5 Microsoft à apporté des changements (infos en FR) : https://msdn.microsoft.com/fr-fr/lib...v=vs.110).aspx
Bsr,
Je n'arrive pas à trouver la liste exacte des fichiers à ajouter (et ou les prendre).
-Pour fonctionner sur toutes les versions de Windows, faut il nécessairement prendre la version 14 (2015) ? . C'est ce que semble dire la doc Microsoft, hors j'ai beaucoup de client qui sont en W10 et chez qui ça fonctionne avec le pack C++ 2013 voir 2010.
-Je pensais qu'ils se trouvaient dans system32, mais j'ai beau installer / désinstaller les redistribuables, le nombre de fichiers ne change pas dans ce dossier.
-Je ne trouve pas de mfc120*.dll, même après avoir installé le C++2013
-Comment savoir quelle dll est la version 32 et celle qui est 64bits ?
-Faut il tout prendre, comme par exemple msvidc32.dll, msvcrt.dll,msvfw32.dll,MSVidCtl.dll ?
Crdlt
Franck
Voilà toutes les DLLs dans ce package pour X86 : VC_2010_a_2015_X86
Pour info la version des DLLs/VC : *110.dll = VC++ 2010, *120.dll = VC++ 2013, *140.dll = VC++ 2015
Méthodologie :
- Installer sur ça machine les redistribuables VC++
- Faire une recherche dans C:\ProgramData\Package Cache\ sur "vcRuntime"
- Copier coller les .msi+.cab associés (des répertoires X86/64) dans un répertoire temporaire
- Extraire les MSI avec Uniextract
C'est génial, merci Ochoteau.
Sans vouloir abuser, tu n'aurais pas le même package pour 64bits ? Car en suivan tla procédure (avec extraction des cab, car pas de dll dans les MSI, juste un Binary.WixDepCA), cela me donne ce type de fichiers : F_CENTRAL_mfc110_x64 . Est ce les bons et dois juste le renommer pour enlever F_CENTRAL et rajouter l'extension .dll . Ca doit pas être ça.
Un dernière question de clarification : tu disais "j’intègre dans mon installeur toutes les dlls de VC++ (qui seront placées à côté de mon exécutable)..." : veux tu dire toutes les dlls de toutes les versions de VC ou bien uniquement celles par exemple de 2013 ? Si tu les copies toutes dans le dossier de l'exe, c'est Windev qui va utiliser les bonnes versions en fonction de la version de .net installée sur le poste client ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager