PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → [WD21] Projet de démonstration 'Chromium'
[WD21] Projet de démonstration 'Chromium'
Débuté par Patrick ALLÉMOZ, 05 juil. 2016 07:55 - 110 réponses
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 05 juillet 2016 - 07:55
Bonjour à tous et à toutes,

A la demande d'autres développeurs et afin d'avoir une première expérience avec un autre navigateur qu'Internet Explorer dans vos applications ou un champ HTML un peu limité ... je vous propose un projet de démonstration vous permettant de tester simplement et facilement Chromium.

Chromium est une version complète de Chrome sans les mauvais additifs de Google, Il est fourni en package .Net et s'intègre parfaitement (ou presque) dans Windev.

Ce projet contient tout le nécessaire pour une démonstration sur votre poste. Vous y trouverez une version 32 et une version 64 bits.

J'ai ajouté la possibilité d'ouvrir des PDF, des sites en Flash, CKEditor, le debugger et l'exécution de Javascript en asynchrone mais aussi en synchrone, vous permettant ainsi d'utiliser un code procédural pour vos fonctions Javascript.

Chromium est en version 47 (la plus stable à l'heure actuelle). Flash est la dernière version 22, CKEditor est du 4 Juillet.

Ce projet de démonstration ne vous permet pas d'intégrer un navigateur complet dans vos applications mais de pouvoir en tester son fonctionnement et il convient également à une base de départ.

Il est en version 21, seule version capable de gérer des packages .Net 32 et 64 bits dans le même projet.

Il est proposé tel quel sans aucune maintenance, si vous avez des questions sur ce projet, c'est ici qu'il faut les poser.

Voici le lien du projet => http://www.3po.fr/pcsoft/_3pO_Chromium.zip

Il vous faudra installer auparavant si vous ne les avez pas déjà, les DLL de Microsoft Visual C++ (voir dans le répertoire Exe du projet les fichiers "vcredist_x86.exe" et "vcredist_x64.exe").

Si vous n'avez pas la version 21, les deux exécutables (32 et 64 bits) sont intégrés dans le projet. Ils utilisent le framework commun.

Note : Je remercie Bastiencb sans qui ce projet n'aurait pas vu le jour

--
Bon développement, Patrick [3po.fr]
Message modifié, 05 juillet 2016 - 08:01
Posté le 06 juillet 2016 - 01:37
Bonjour Patrick

j'ai essayé ton projet, et je voudrais apporter une précision, pour ceux
qui comme moi lisent ton message un peu trop en diagonale :

Si il FAUT lancer vcredist_x64.exe pour installer C++ redistribuable sur
la machine et qu'on ne le fait pas, on a un message d'erreur qui indique
de copier le contenu du répertoire chromium 47... Hors cette
manipulation ne résoud pas le problème qui vient dans ce cas de
l'absence d'installation de C++


En dehors de ce petit problème entièrement de ma faute, c'est très
intéressant...

Le fait qu'il faille installer les dll de flash et autre dans les sous
répertoires du programme (ou ailleurs bien sur) impliquent à la fois un
contrôle plus grand sur ce qui est dispo pour le navigateur (très
positif) et la contrainte de mettre en place un système de mise à jour
pour ces modules sous peine de faille de sécurité sévère...

Mais ça ouvre plein de possibilités... Merci beaucoup, donc :-)

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Plus d'information sur http://fabriceharari.com
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 06 juillet 2016 - 15:50
Bonjour Fabrice,

Merci pour ton message. Effectivement le seul test que je n'ai pas fait est de ne pas avoir installé les DLL du C++ ...

Dès que j'ai 5 minutes je ferai un test sans les DLL installées afin de voir si je peux identifier l'exception et afficher un message plus cohérent.

J'apporte une précision quand au module Flash : il vient de la dernière version de Chrome et s'appelle PepperFlash, on le trouve dans le répertoire d'installation de Chrome. Vous pouvez donc à souhait le mettre à jour.

Si vous désirez les versions de Chromium 49 ou 51 ... il suffit de me demander et je mettrai ça sur mon site afin que vous puissiez les tester.
Mais je préviens d'avance que d'après mes tests, ces versions ne sont pas aussi stables que la version 47.

Et pour éviter les futures questions, Java et Silverlight ne sont plus supportés sous Chrome donc sur Chromium également. Les autres navigateurs vont suivre la même politique dans les prochains mois.

--
Bon développement, Patrick [3po.fr]
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 20 juillet 2016 - 16:22
[UPDATE]

Ajout dans le projet d'un bouton permettant de récupérer le source de la page en cours.

Le code pour ceux qui ne veulent pas télécharger de nouveau le projet :

// Récupération du source de la page HTML
Source est une chaîne = Javascript.Avec_Attente("document.documentElement.outerHTML;")

// On met le source dans le presse papier
VersPressePapier(Source)

// Message d'information
Info("Le source est dans le presse-papier")

La même routine mais avec le DocType en plus :

// Récupération du DocType du document (si il existe)
Source est une chaîne = Javascript.Avec_Attente("try {new XMLSerializer().serializeToString(document.doctype);} catch(e) {};")
SI Source = "null" ALORS Source = ""

// Récupération du source de la page HTML
Source += Javascript.Avec_Attente("document.documentElement.outerHTML;")

// On met le source dans le presse papier
VersPressePapier(Source)

// Message d'information
Info("Le source est dans le presse-papier")


--
Bon développement, Patrick [3po.fr]
Membre enregistré
945 messages
Popularité : +53 (63 votes)
Posté le 20 juillet 2016 - 16:38
Bonjour,

Moi j'ai eu l'erreur de copier les fichier dans le répertoire même après avoir installer le redistribuable.

il a fallu que j'aille débloquer toute les dll dans les répertoire respectif du projet dans les propriétés.

Mais sinon très bon projet !!

jordan
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 20 juillet 2016 - 17:11
Merci pour ton message.

A noter donc selon les configurations de chacun ... pensez à débloquer les fichiers dans le répertoire de mon projet.

--
Bon développement, Patrick [3po.fr]
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 18 août 2016 - 17:44
[Update - 18/08/2016]

Mise à jour du projet avec :

- PepperFlash v23.0.0.234
- Récupération automatique de la version de PepperFlash pour ne pas avoir à changer la version dans le source
- Explication dans le source pour la mise à jour des DLL de PepperFlash via adobe.com (version officielle et pas une version 'google-isée' !)
- Allocation dynamique du navigateur
- Bouton permettant de réinitialiser le navigateur en cours
- Suppression du mode Debug par défaut (fichier debug.log)

Pour mémo, le lien du projet => http://www.3po.fr/pcsoft/_3pO_Chromium.zip

En cas de problème, pensez bien à installer les deux frameworks (32 et 64 bits) "Microsoft Visual C++" et à débloquer les fichiers dans le répertoire du projet selon votre configuration de Windows,

--
Bon développement, Patrick [3po.fr]
Membre enregistré
6 messages
Posté le 20 septembre 2016 - 15:33
Bonjour,

Tout d'abord merci pour ce fil et vos contributions.

Je cherche à activer la possibilité de télécharger un fichier. J'ai cherché du coté de "DownloadHandler" mais je n'arrive pas à implémenter la fonction. Quelqu'un a-t-il déjà réussi ?

Merci d'avance.
Loïc
Posté le 20 septembre 2016 - 18:38
Loîc,

Il faut l'implémenter en C++ pour qu'elle fonctionne. A ma connaissance, il n'est pas possible de faire autrement.
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 20 septembre 2016 - 18:43
Oups ... ma réponse est partie un peu vite ... j'avais oublié de me connecter.

Donc je te redonne ma réponse (que je t'ai d'ailleurs aussi donné sur un autre forum qui traite de ce même sujet) :

Il faut l'implémenter en C++ pour l'utiliser dans Windev. A ma connaissance, il n'est pas possible de l'utiliser directement.

--
Bon développement, Patrick [3po.fr]
Posté le 21 septembre 2016 - 16:05
Bonjour et merci pour ce .zip qui fonctionne parfaitement sur mon poste.

N'ayant que la version 20 à disposition, est-il possible d'avoir ce projet au format W20 ??????

Merci d'avance pour votre réponse éclairée....
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 21 septembre 2016 - 17:54
Bonjour,

Désolé mais je ne peux hélas maintenir plusieurs versions et seule la version 21 utilise la différenciation des packages .Net 32 et 64 bits.

--
Bon développement, Patrick [3po.fr]
Membre enregistré
1 287 messages
Popularité : +20 (72 votes)
Posté le 23 septembre 2016 - 13:21
Pour suivre le fil de cette discussion, fortement intéressante.

@Patrick Merci de ce partage

--
Bertin CARRIERE
Consultant & Formateur
bertin.carriere@gmail.com
http://www.zen-project.be http://www.linkedin.com/in/bertincarriere

Belgique +32(0)2/318.02.67
France +33(0)3/66.722.542
Espagne +34.5/12.702.266

Membre de http://www.be-dev.be
Membre enregistré
19 messages
Posté le 03 mai 2017 - 14:09
Merci, ca fonctionne à merveille :merci:
Membre enregistré
19 messages
Posté le 03 mai 2017 - 17:33
J'ai le message suivant ....
Une idée ?

Il faut impérativement mettre la DLL wd210net4.dll dans le répertoire de l'exécutable
Code erreur : 2451 L'objet .NET dynamique 'Navigateur' n'est pas alloué.
Membre enregistré
19 messages
Posté le 03 mai 2017 - 18:04
En fait, en mode débug, ca marche ... mais pas lorsqu'on lance l'exe ... Une idée ?


Merci
Membre enregistré
19 messages
Posté le 04 mai 2017 - 11:30
Alors, j'ai réussi à me débrouiller.
J'ai un problème lorsque mon application lance une fenêtre avec un navigateur ...
L'exécutable reste dans le gestionnaire des tâches alors que l'application est quittée ...
Si je lance mon application normalement sans jamais lancer la fenêtre du navigateur, cette dernière se ferme sans laisser d'exe dans le gestionnaire.

Merci à vous.
Posté le 04 mai 2017 - 13:28
Bonjour Eric,

question bête, comme ca marche en go et pas en mode exe, et comme
l'indique le message, est ce que tu as bien mis la DLL wd210net4.dll
dans le répertoire de l'exécutable ?

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com

Le 5/4/2017 à 3:30 AM, Eric a écrit :
Alors, j'ai réussi à me débrouiller.
J'ai un problème lorsque mon application lance une fenêtre avec un
navigateur ...
L'exécutable reste dans le gestionnaire des tâches alors que
l'application est quittée ...
Si je lance mon application normalement sans jamais lancer la fenêtre du
navigateur, cette dernière se ferme sans laisser d'exe dans le
gestionnaire.

Merci à vous.
Membre enregistré
19 messages
Posté le 05 mai 2017 - 23:59
Bonsoir,
Oui elle y est bien ...
Après plusieurs essais et test, ca à l'air de vouloir marcher maintenant :)
Membre enregistré
8 messages
Posté le 02 mai 2018 - 15:26
Bonjour Patrick,

Je prend en cours le file de ce sujet, car je suis très intéressé par une embarcation de Chromium dans WinDev.
J'ai développé, pour l'un de mes projets, un navigateur interne basé sur l'ActiveX (Shell.Explorer) de Microsoft.
Tout fonctionne bien, mais certaines fonctionnalités (ou non fonctionnalités) ne me permet pas d'aller là où j'aimerai.
Pour des raisons de sécurité (dans certain cas), je désire bloquer l'exécution de javascript lors du téléchargement des pages.
Aucunes solutions natifs n'existe vraiment, sauf à placer des " <!-- //--> " dans le code.

C'est pourquoi je me suis tourné vers la solution CefSharp (Chromium) qui me semble très intéressante.
La version en cours que j'ai pu télécharger est celle que vous proposez (47).
Existe-t-il un version plus récente de cette distribution ? Car Chrome est passé à la version 66.
Et est-il possible avec cette distribution de bloquer le javascript ? Et si oui, quelle en serait l'astuce pour y parvenir ?

D'avance je vous remercie pour la réponse.

Cordialement,

--
-------------------------
Luc Rollinger - dotnuts development
http://www.dotnuts-development.com
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 02 mai 2018 - 18:40
Bonjour Luc,

Laisse moi quelques jours pour mettre ce projet à jour ... il sera en version Windev 23 et avec un Chromium 66 ou 68 enfin la dernière dite "stable".

J'ai noté la possibilité de mettre du C# directement dans Windev et cela devrait grandement simplifier ce projet et lui permettre d'évoluer sans avoir besoin de générer une DLL externe. Je vais donc regarder dans cette direction avant d'utiliser mon ancienne méthode ...

Pour ton javascript ... regarde si cela fonctionne :
Paramètres_Chromium.CefCommandLineArgs.Add("disable-javascript","1")
sinon je sais que l'on peut désactiver Javascript ... mais pas en cours de route, en gros c'est du ON/OFF, je jetterai un oeil quand je mettrai ça à jour.

--
Bon développement, Patrick [3po.fr]
Membre enregistré
8 messages
Posté le 03 mai 2018 - 12:01
Bonjour Patrick,

Merci beaucoup pour la réponse.

J'ai essayé le blocage JavaScript, dans ton projet "_3p0_Chromium", et cela semble n'avoir aucun effet. Car l'exécution (par les boutons "JavaScript Synchone et Asynchrone) fonctionne.

J'attend avec impatience la nouvelle version, car effectivement je travaille avec la version 23 de WinDev, et il affiche des erreurs de compilation sur les DLLs de la version 47. Et de ce faite, il génère une exception (Code 0, sans message d'erreur) lors de l'affectation du champ à la propriété "Parent" de l'objet "ChromiumWebBrowser".

Existe-t-il une documentation sur les classes CefSharp qui sont utilisées dans ton projet ?
J'ai trouvé ceci ( https://cefsharp.github.io/api/63.0.0/html/R_Project_Documentation.htm ), mais je ne sais pas la certitude que sa soit la bonne référence.

Liste des erreurs de compilation :
- Erreur :c:\Mes Projets\dotnuts\Workflow\Exe\Chromium 47 - 32 bits\_3pO.dll: error CS1704: Un assembly avec le même nom simple '_3pO, Version=47.0.4.0, Culture=neutral, PublicKeyToken=null a déjà été importé. Essayez de supprimer l'une des références ou signez-les pour activer le côte à côte.

- Erreur :c:\Mes Projets\dotnuts\Workflow\Exe\Chromium 47 - 64 bits\_3pO.dll: (Emplacement du symbole par rapport à l'erreur précédente)

- Erreur :c:\Mes Projets\dotnuts\Workflow\Exe\Chromium 47 - 64 bits\CefSharp.dll: (Emplacement du symbole par rapport à l'erreur précédente)

- Erreur :c:\Mes Projets\dotnuts\Workflow\Exe\Chromium 47 - 64 bits\CefSharp.Core.dll: (Emplacement du symbole par rapport à l'erreur précédente)

- Erreur :c:\Mes Projets\dotnuts\Workflow\Exe\Chromium 47 - 64 bits\CefSharp.WinForms.dll: (Emplacement du symbole par rapport à l'erreur précédente)

- Erreur :c:\Mes Projets\dotnuts\Workflow\Exe\Chromium 47 - 32 bits\CefSharp.WinForms.dll: error CS1703: Un assembly avec la même identité 'CefSharp.WinForms, Version=47.0.4.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138' a déjà été importé. Essayez de supprimer l'une des références en double.

- Erreur :c:\Mes Projets\dotnuts\Workflow\Exe\Chromium 47 - 32 bits\CefSharp.Core.dll: error CS1703: Un assembly avec la même identité 'CefSharp.Core, Version=47.0.4.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138' a déjà été importé. Essayez de supprimer l'une des références en double.

- Erreur :c:\Mes Projets\dotnuts\Workflow\Exe\Chromium 47 - 32 bits\CefSharp.dll: error CS1703: Un assembly avec la même identité 'CefSharp, Version=47.0.4.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138' a déjà été importé. Essayez de supprimer l'une des références en double.

Cordialement,

--
-------------------------
Luc Rollinger - dotnuts development
http://www.dotnuts-development.com
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 03 mai 2018 - 18:57
Bonjour,

Attention, l'exécution par les boutons "JavaScript" n'a rien à voir avec le code Javascript de ta page. Ces boutons sont là pour montrer comment exécuter du code Javascript en direct.

Pour tester la désactivation du Javascript dans ta page ... fais une page avec un affichage d'une box d'alerte en Javascript par exemple.
Quand tu charges la page, si tu as la box d'alerte, c'est que le Javascript dans la page fonctionne,

Si ma première technique ne marche pas ... il faudrait créer un BrowserSettings, mettre le Javascript en "State OFF" et l'appliquer dans le navigateur avec quelques chose dans le genre Navigateur.BrowserSettings = Mon_Settings et tu auras fait avant "Mon_Settings est un BrowserSettings" et "Mon_Settings.Javascript = CefState.disable" ...

Je ne suis pas sûr des syntaxes et commandes, je fais ça de tête ... je te réponds rapidement avec mon téléphone, c'est pour ça.

--
Bon développement, Patrick [3po.fr]
Membre enregistré
945 messages
Popularité : +53 (63 votes)
Posté le 04 mai 2018 - 10:18
Bonjour,

Je suis également intéressé par cette solution et attend patiemment ton retour

Jordan
Membre enregistré
8 messages
Posté le 04 mai 2018 - 10:58
Bonjour Patrick,

Merci pour ta réponse.

Alors effectivement, la première solution :
Paramètres_Chromium.CefCommandLineArgs.Add("disable-javascript","1")


ne fonctionne pas, et n'a aucun effet sur les boutons "Javascript Synchrone/Asynchrone" de ton application.
Par contre, la deuxième solution :
Mon_Settings est un BrowserSettings
Mon_Settings.Javascript = CefState.Disabled
Navigateur.BrowserSettings = Mon_Settings


fonctionne parfaitement. Et là, même tes boutons "Javascript Synchrone/Asynchrone" ne peuvent plus exécuter du code JavaScript, et cause même un dysfonctionnement.
- Avec le bouton "Synchrone" le message suivant apparait :




puis ferme brutalement l'exécution.

- Avec le bouton "Asynchrone", il n'y a pas de message, mais l'objet (champ) .Net2 est détruit, mais l'exécution de ce ferme pas.

Et cela, même si les deux codes sont englobé dans un traitement d'exception.

Cela peut te servir pour éventuellement améliorer ton projet.

Cordialement,

--
-------------------------
Luc Rollinger - dotnuts development
http://www.dotnuts-development.com
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 04 mai 2018 - 11:10
Bonjour,

Ok parfait ... et tout ça de tête ! Je pense que je crée une instance Javascript à partir du navigateur, ça doit être pour ça que du coup, cela désactive aussi mon exécution de code Javascript.

Dans l'absolu, tu te crées un navigateur avec javascript et un sans ... et selon ce que tu veux, tu prends l'un ou l'autre.

Je vais regarder ce week-end pour vous envoyer une mise à jour de Chromium.

--
Bon développement, Patrick [3po.fr]
Membre enregistré
8 messages
Posté le 04 mai 2018 - 12:30
Bonjour,

Effectivement, si l'on désire désactiver JavaScript, il faut veiller à ne pas créer une variable basée une instance JavaScript.
Mais il est toujours interessant de voir ce qu'il se produit, si l'on laisse cette instance.
Et dans ce cas, de voir qu'une erreur/exception est générée, et de faire un retour sur les erreurs pour faire améliorer les produits.

Merci beaucoup pour ton implication et ton travail.

Cordialement,

--
-------------------------
Luc Rollinger - dotnuts development
http://www.dotnuts-development.com
Membre enregistré
8 messages
Posté le 14 mai 2018 - 15:10
Bonjour Patrick,

Est-ce que tu aurais de bonne nouvelle, concernant la nouvelle version de Chromium ?

Cordialement,

--
-------------------------
Luc Rollinger - dotnuts development
http://www.dotnuts-development.com
Posté le 22 mai 2018 - 16:29
Bonjour Patrick,

Tout d'abord je tiens à vous remercier pour ce projet. Il m'a permis de mettre en place une interface téléphonique entre mon logiciel et une API Javascript non compatible avec IE.... Aujourd'hui le projet fonctionne plutôt bien mais je fais face à une erreur à la fois aléatoire et récurrente.

Sous l'environnement de production sur lequel je travail, j'ai des erreurs lors de l'utilisation des Delegates. Par conséquent je redirige les données de la console dans une liste de ma page et lis ces infos dans une boucle sans fin.

Voici la ligne de code qui génère régulièrement des erreurs :
sJavascript = goJavascript.Avec_Attente(ChaîneConstruit("document.getElementById('raw_directory_result').getElementsByTagName('li')[%1].innerHTML;", gnCompteurConsole))


et l'erreur que je récupère :

erreur : Appel WL :
Traitement de 'Procédure locale Boucle_Console' (FEN_Main.PROCEDURE.Boucle_Console), ligne 21, thread 0

Que s'est-il passé ?
L'invocation de la méthode <Avec_Attente(System.String)> du type <Object> a échoué Le framework .NET a renvoyé l'erreur suivante :
Une ou plusieurs erreurs se sont produites.

Code erreur : 200002
Niveau : erreur fatale

Dump de l'erreur du module 'wd210net4.dll' (21.0.20.0).
Identifiant des informations détaillées (.err) : 200002 Informations de débogage :
System.Reflection.TargetInvocationException: Une exception a été levée par la cible d'un appel. ---> System.AggregateException: Une ou plusieurs erreurs se sont produites. ---> System.AggregateException: Une ou plusieurs erreurs se sont produites. ---> System.Threading.Tasks.TaskCanceledException: Une tâche a été annulée.
--- Fin de la trace de la pile d'exception interne ---
à System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
à System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
à System.Threading.Tasks.Task`1.get_Result()
à _3pO.Javascript.<>c__DisplayClass5.<Avec_Attente>b__3(Task`1 t)
à System.Threading.Tasks.ContinuationTaskFromResultTask`1.InnerInvoke()
à System.Threading.Tasks.Task.Execute()
--- Fin de la trace de la pile d'exception interne ---
à _3pO.Javascript.Avec_Attente(String Script, Int32 Millisec)
à _3pO.Javascript.Avec_Attente(String Script)
--- Fin de la trace de la pile d'exception interne ---
à System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
à System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
à CDotNetMethod.bInvoke(Char* pszTypeName, Char* pszMethodName, Char* pszParameters, MethodInfo gcMethod, Object gcObj, CSLevel* pclPile, Int32 nNbParamPile, Int32 bValeurRetour, STOperationDotNet* pstOperation) Informations supplémentaires :
EIT_EXCEPTIONDOTNET
EIT_PILEWL :
Procédure locale Boucle_Console (FEN_Main.PROCEDURE.Boucle_Console), ligne 21 EIT_DATEHEURE : 22/05/2018 16:13:36 EIT_TYPE_WDFILE : <2> EIT_IDCODE : <458752>


Il n'y a aucun schéma déclencheur particulier : cela arrive à n'importe quelle heure et sur n'importe quelle session utilisateur...

Je sais que l'erreur n'est pas déclenchée par le compteur ; si la valeur dépasse le nombre de ligne je récupère le message d'erreur. Je me demande si cela pourrait venir de micro-déconnexions ? et dans ce cas comment les identifier ? ou quel test faire pour prévenir cette erreur fatale ?

Je vous remercie d'avance pour votre réponse.

Cordialement,
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 23 mai 2018 - 07:04
Bonjour,

Désolé j'ai pris du retard sur d'autres projets ... c'est prévu mais je ne peux te dire quand exactement. Mon job étant ma priorité.

--
Bon développement, Patrick [3po.fr]
Membre enregistré
4 messages
Posté le 06 octobre 2018 - 14:04
Bonjour je suis débutant avec windev puis je avoir la procedure complete d'intégration de chromium dans windev.
Membre enregistré
4 messages
Posté le 06 octobre 2018 - 14:04
Quand je copie les fichier dans le repertoire exe de mon projet ca ne suffit pas je reçoit des erreurs
du genre Chromium browser est inconnu. j'aimerai donc savoir comment régler ce problème.
Membre enregistré
4 messages
Posté le 06 octobre 2018 - 15:54
J'ai pu résoudre mon ex problème.
Je viens de rencontrer un autre les cookies et cache ne fonctionne pas.
Comment y remédier.
Membre enregistré
4 messages
Posté le 06 octobre 2018 - 16:08
Les cookies, les sessions ne fonctionne pas alors que j'en ai besoin pour que mon application web fonctionne correctement.
Merci d'avance pour vos réponses
Membre enregistré
23 messages
Popularité : +2 (2 votes)
Posté le 09 novembre 2018 - 16:39
Eric a écrit :
Alors, j'ai réussi à me débrouiller.
J'ai un problème lorsque mon application lance une fenêtre avec un navigateur ...
L'exécutable reste dans le gestionnaire des tâches alors que l'application est quittée ...
Si je lance mon application normalement sans jamais lancer la fenêtre du navigateur, cette dernière se ferme sans laisser d'exe dans le gestionnaire.

Merci à vous.


Bonjour Eric,

est-ce que tu as eu une réponse ou est-ce que tu as trouvé une solution, pour les proccess qui est en mémoire, car j'ai le même problème, quand j'ouvre ma fenêtre avec le navigateur, il lance 2x le proccess "CefSharp.BrowserSubprocess.exe" et quand je ferme la fenêtre il en ferme seulement 1.

et une fois que je ferme soit mon test ou mon exe principal, MonAppli.exe ou WDTst.exe reste en mémoire avec un CefSharp.BrowserSubprocess.exe
et quand je kill un des 2 les 2 ce ferme...

j'ai essayé d'ajouter la commande Cef.Shutdown() dans la fermeture de ma fenêtre, ca fonctionne, mais si je retourne dans la fenêtre j'ai un crash de type Erreur système inattendu...
Membre enregistré
1 message
Posté le 09 décembre 2018 - 17:30
Bonjour,
J'utilisais le projet WD21 avec chromium, mais depuis ma mise a jour en windows 10, cela ne fonctionne plus !

Est-ce que vous auriez un projet de test plus récent avec chromium intégré dedans ?

Merci par avance
Membre enregistré
137 messages
Popularité : +7 (7 votes)
Posté le 28 décembre 2018 - 18:22
Patrick ALLÉMOZ a écrit :
[Update - 18/08/2016]

Mise à jour du projet avec :

- PepperFlash v23.0.0.234
- Récupération automatique de la version de PepperFlash pour ne pas avoir à changer la version dans le source
- Explication dans le source pour la mise à jour des DLL de PepperFlash via adobe.com (version officielle et pas une version 'google-isée' !)
- Allocation dynamique du navigateur
- Bouton permettant de réinitialiser le navigateur en cours
- Suppression du mode Debug par défaut (fichier debug.log)

Pour mémo, le lien du projet => http://www.3po.fr/pcsoft/_3pO_Chromium.zip

En cas de problème, pensez bien à installer les deux frameworks (32 et 64 bits) "Microsoft Visual C++" et à débloquer les fichiers dans le répertoire du projet selon votre configuration de Windows,

--
Bon développement, Patrick [3po.fr]


Bonjour que voulez vous dire par débloquer les fichiers ? j ai le problème sur un poste utilisateur, erreur .net chromium n'a pas pus etre alloué ?

merci
Posté le 26 mars 2019 - 16:03
Bonjour Patrick,

Nous utilisons déjà ton projet Chromium pour WinDev et sincérement, merci!
Je sais que tu étais occupé sur d'autre chose, mais aurons nous droit à une nouvelle version du projet avec un Chromium plus récent? Car nous avons un problème avec un "CefSharp.BrowserSubprocess.exe" qui reste en mémoire après la fermeture de la fênetre et nous voulons voir une version plus récente pourrais aider.

Cordialement,
Membre enregistré
44 messages
Popularité : +6 (6 votes)
Posté le 02 avril 2019 - 09:28
Bonjour,

je rencontre le même problème que LT DUBLO.
Le projet test 3pO_chromium fontionne bien,
mais si on souhaite le faire avec les dernieres DLL chromium (version x32) soit la version 73.1.12.0, je n'obtiens qu'une page blanche dans le browser alors que le flux est bien chargé (je vois l'appel passé dans fiddler). L'appel de l'outil de debug lance un form en page blanche également.

Dans le debug.log, j'ai toujours ceci lors du Cef.Initialize(paramètres_Chromium):
ERROR:gpu_process_transport_factory.cc(990)] Lost UI shared context.

Apparement, une MAJ de Windows 10 est en cause au vue des retours sur divers forum ...
J'esssaie de trifouiller les options graphiques du CEF mais sans succès pour le moment !

Il me faut cette dernière version de chromium car je dois chargé un site qui ne s'affiche pas de la même manière suivant la version ...

--
La chute n'est pas un échec. L'échec c'est de rester là où on est tombé.
Message modifié, 02 avril 2019 - 09:29
Membre enregistré
44 messages
Popularité : +6 (6 votes)
Posté le 02 avril 2019 - 10:47
Rectificatif : J'avais un déphasage de version entre les DLL présentent dans le dossier de mon exe et celle répertorié dans dans Windev dans les assemblages.net ... J'ai tout supprimé des deux cotés et refais le travail proprement.
Oh surprise ! ça marche !
Pour moi-même et d'autres, bien mettre toutes les dlls et leurs dépendances dans la même version.

--
La chute n'est pas un échec. L'échec c'est de rester là où on est tombé.
Membre enregistré
945 messages
Popularité : +53 (63 votes)
Posté le 17 avril 2019 - 20:02
Bonjour,

je met a dispo les dll en 32bits de la dernière version stable de cefsharp (71.0.2), je n'utilise pas la dll de _3p0 pour les appel javascript, mais "WIndevNet.dll" trouvé sur ce site : https://www.developpez.net/forums/d1564113/environnements-developpement/windev/contribuez/integrer-navigateur-chromium-chrome-fenetre-windev-cefsharp/

que j'ai recompilé avec visual studio 2019, donc il faudra installer le visual c++ 2017 pour que ca fonctionne.

https://we.tl/t-7oU9eZVz1e

Jordan
Membre enregistré
137 messages
Popularité : +7 (7 votes)
Posté le 18 avril 2019 - 21:48
Excellente nouvelle, merci Jordan

je vais tester de suite
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 23 avril 2019 - 12:54
Bonjour à tous,

J'ai mis à jour le projet de démonstration de Chromium en version 73 (32 et 64 bits) en windev 24.

Voici le lien du projet => https://3po.fr/pcsoft/_3pO_Chromium_73.zip

J'ai intégré dans ma DLL la gestion des téléchargements et des popup ... mais je ne l'ai pas encore implémenté dans le source. Ce sera fait dans quelques jours.

Vous pourrez ainsi gérer un téléchargement de fichier, et gérer les popup selon vos envies.

Concernant Flash, il suffit d'installer Flash PPAPI sur votre poste : https://fpdownload.macromedia.com/pub/labs/flashruntimes/flashplayer/install_flash_player_ppapi.exe

J'ai également mis la dernière version de CKEditor.

NOTE : J'ai également mis le cache de Chromium dans le répertoire de l'utilisateur (voir le source) plutôt que dans le répertoire de l'exécutable.

--
Bon développement, Patrick [3po.fr]
Message modifié, 23 avril 2019 - 13:01
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 24 avril 2019 - 12:30
Oups ... le lien n'était pas le bon.

C'est corrigé, vous pouvez le télécharger sans problème : https://3po.fr/pcsoft/_3pO_Chromium_73.zip

NOTE : N'oubliez de cliquer sur le pouce si ce projet vous a aidé afin de savoir si je le maintiens ou pas ... comprenez que si une seule personne aime ce projet, je préfère lui envoyer directement !

--
Bon développement, Patrick [3po.fr]
Message modifié, 24 avril 2019 - 12:34
Membre enregistré
3 messages
Posté le 07 mai 2019 - 21:43
Bonsoir Patrick, merci et bravo pour le projet _3po :merci:
si, si le projet est vraiment super. J'ai étendu les fonctions (back, forward, refresh, home, ...) et j'ai créé une seule barre de menu pour l'ensembles des onglets.
Sans vos exemples je n'y serai jamais arrivé.
Actuellement je bute sur le Navigateur.PrintToPdfAsync ...
Auriez-vous peut-être déjà travaillé avec? ou des infos?

Merci d'avance, Jérôme
Membre enregistré
3 messages
Posté le 08 mai 2019 - 08:14
Bonjour Patrick,
En regardant de plus près la dll _3po, j'ai vu qu'il y a des méthodes
- Popup,
- Telechargement.

Sauriez vous m'en dire plus sur celles-ci?

Jérôme
Posté le 21 mai 2019 - 12:40
Bonjour et merci pour ce code et le temps passé.
Là où j'avais des problèmes de compatibilité avec le WebBrowser classique, les sites sur lesquels je dois me connecter fonctionne… A un souci près.
Je suis en WinDev 21 et je constate un phénomène étrange que je n'explique pas. Sur une fenêtre, j'ai posé un objet .Net v2 de type Form auquel j'ai associé le navigateur. Tout fonctionne. Pour info, le site utilisé est le site officiel https://mailiz.mssante.fr qui est la messagerie sécurisée des professionnels de santé (j'ai le cas sur d'autres sites également).
Le hic est que, quand je survole un lien sur la page, l'affichage réalise un "zoom" et je ne peux plus cliquer. En faisant un scroll dans la page, tout redevient normal mais le survol d'un lien réitère le phénomène.
Auriez-vous une idée d'où cela peut venir ?
Membre enregistré
218 messages
Popularité : +14 (14 votes)
Posté le 22 mai 2019 - 14:41
Bonjour,

Super projet :merci: Je l'ai également intégré dans une de mes applications et cela fonctionne à merveille.

J'aimerais réaliser un drag and drop d'une sélection de texte depuis navigateur vers un champ de saisie. Est-ce possible ?

Merci.
Membre enregistré
1 message
Posté le 29 mai 2019 - 02:37
Bonjour,

Je tiens tout d'abord à vous remercier pour votre projet, il fonctionne très bien.
J'ai importé la version windev 21 en windev 23 et tout fonctionne en supprimant l'architecture en doublon (et en utilisant 32 ou 64 bits uniquement).
Je ne possède actuellement pas windev 24 et ne peut donc utiliser le projet mis à jour.

La version de Flash est bien détectée sur le site de Flash, mais lorsque j'essaie de jouer une vidéo Flash (par exemple sur vk.com), on me dit que je dois posséder la dernière version de flash, comme si flash n'était pas détecté...

Est-ce normal ?
En vous remerciant,
Lucas
Membre enregistré
218 messages
Popularité : +14 (14 votes)
Posté le 22 juin 2019 - 19:26
Bonjour,

Le projet 3PO Démo Chromium ne fonctionne plus depuis la nouvelle version 75n de WinDev 24 ;(

Voici le message d'erreur au lancement de l'application :

L'autodiagnostic des threads a détecté un comportement interne inattendu.

**********************************************

----- Informations techniques -----

Que s'est-il passé ?
L'autodiagnostic des threads a détecté un comportement interne inattendu.

Code erreur : 2947
Niveau : erreur fatale

Dump de l'erreur du module 'wd240vm.dll' (24.0.478.3).
Identifiant des informations détaillées (.err) : 2947
Informations de débogage :
UEL = 272
Erreur hors execution


:( Est-dû à un bug de WinDev 24 75n ?

Constatez-vous le même problème ?

Merci.
Membre enregistré
218 messages
Popularité : +14 (14 votes)
Posté le 25 juin 2019 - 09:13
Je confirme qu'en revenant à la 63m le problème disparaît.
Va falloir prévenir le ST.
Membre enregistré
218 messages
Popularité : +14 (14 votes)
Posté le 26 juin 2019 - 09:36
Bonjour,

J'ai envoyé une requête au ST avec le lien du projet pour qu'ils puissent constater et j'espère corriger rapidement ce problème.


Bon dev.

Edit :

Réponse du ST :

Merci pour ces éléments. J'ai bien observé le fonctionnement décrit. Le problème a été transmis à nos développeurs pour analyse. Il porte la référence 114 014/298273.

Wait and see...
Message modifié, 26 juin 2019 - 10:01
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 27 juin 2019 - 06:13
Bonjour Pierre-Louis,

Je n'ai pas eu vraiment le temps de m'occuper de ce projet mais j'ai mis en place le téléchargement automatique + quelques demandes faites par mail (vous aviez vu que je l'avais implémenté dans la dll).
Je dois faire encore quelques tests avant de vous le mettre en téléchargement.

Pour palier au problème de la version 75n ... quand j'ai vu ton message, j'ai compris qu'il y avait un problème avec le ExecuteThreadPrincipal().
Pour ne pas que tu reviennes en arrière et en attendant une correction du ST ... voici ce que tu dois faire :

Remplace
ExécuteThreadPrincipal(Update)
par
Update()


Pour vos autres demandes :

Je regarderai ça en même temps que mes tests, notamment Flash, bouton de navigation, drag and drop ...

J'ai également implémenté les popup dans la DLL ... cela permettra prochainement de contrôler l'ouverture de Popup ... Lapalisse n'aurait pas dit mieux !

Possible également que la version 75 pointe le bout de son nez .. je migrerai aussi dessus.

Pour ceux qui m'ont demandé la même chose en version 21, 22 ou 23 ... ce n'est pas que je ne veux pas, mais je ne peux pas maintenir des versions différentes ... ma politique de développement est d'utiliser les dernières versions des produits PC-Soft, cela restera hélas comme ça.

En tout cas, je vous remercie pour vos messages.

--
Bon développement, Patrick [3po.fr]
Message modifié, 27 juin 2019 - 06:15
Membre enregistré
218 messages
Popularité : +14 (14 votes)
Posté le 27 juin 2019 - 09:07
Merci beaucoup Patrick ! :merci:
Membre enregistré
218 messages
Popularité : +14 (14 votes)
Posté le 28 juin 2019 - 09:33
Bonjour

Le ST a rapidement corrigé le problème.

Pour ceux qui en auront besoin :

Concernant une erreur "L'autodiagnostic des threads " : Un correctif a été réalisé par notre équipe Développement et notre équipe Qualité.
Voici un lien vous permettant de télécharger une mise à jour pour la version "Update 3" (240075N) de WinDev 24 :

https://stg.webdev.info/Telechargement_Support_WEB/FR/telec_ST.awp…

Cette mise à jour regroupée dans une archive zip est composée de :

- \Externe\limites.wl (2.25 Ko)
- \Donnees\WinRT.wcs (3.85 Ko)
- \framework\win32x86\wd240vm.dll (4301.50 Ko) - version : 24.0.478.5
- \framework\win64x86\wd240vm64.dll (5241.00 Ko) - version : 24.0.478.5

Elle doit être décompressée en conservant l'arborescence dans le dossier \Programmes\ de WinDev 24.
Vous devez lors de la décompression confirmer le remplacement des fichiers de mêmes noms déjà présents.

Recréez ensuite l'exécutable de l'application, afin de le déployer à nouveau avec cette mise à jour du framework. Attention l'exécutable doit être recréé avec "DLL du framework à côté" (étape "Framework 1/2" de l'assistant de création de l'exécutable). Il ne faut pas sélectionner un framework intégré pour l'exécutable, il se pourrait pas bénéficier de la mise à jour.

Veuillez nous excuser pour le contretemps occasionné par cet incident.


Référence à rappeler pour tout contact à ce sujet : 114014/298273.
Membre enregistré
3 messages
Posté le 29 juin 2019 - 10:55
:merci: Pierre-Louis !
Membre enregistré
1 message
Posté le 08 juillet 2019 - 16:51
Bonjour,

Bravo pour ce projet, c'est la classe.
Savez-vous me dire comment charger chromium en français par défaut ?
La page que j'affiche est différente en fonction de la langue et il me faut le français pour utiliser un dictionnaire dans cette page.

Merci d'avance.

Patrick
Membre enregistré
945 messages
Popularité : +53 (63 votes)
Posté le 08 juillet 2019 - 16:59
Patrick ANTONIN a écrit :
Bonjour,

Bravo pour ce projet, c'est la classe.
Savez-vous me dire comment charger chromium en français par défaut ?
La page que j'affiche est différente en fonction de la langue et il me faut le français pour utiliser un dictionnaire dans cette page.

Merci d'avance.

Patrick

Bonjour,
// Paramétrage de base
Paramètres_Chromium est un CefSettings dynamique = allouer un CefSettings

Paramètres_Chromium.Locale = "fr"


Jordan
Posté le 10 juillet 2019 - 16:49
Bonjour Pierre-Louis,

C'est vraiment super !

Savez-vous comment faire pour utiliser Chromium en version 73 offline ?
C'est à dire sans afficher les sites sur un browser.

Quelles sont alors les DLL minimales ?

Merci d'avance
Patrice
Membre enregistré
218 messages
Popularité : +14 (14 votes)
Posté le 10 juillet 2019 - 17:43
Patrice a écrit :
Bonjour Pierre-Louis,

C'est vraiment super !

Savez-vous comment faire pour utiliser Chromium en version 73 offline ?
C'est à dire sans afficher les sites sur un browser.

Quelles sont alors les DLL minimales ?

Merci d'avance
Patrice


Bonjour Patrice.

Ce n'est pas moi qu'il faut remercier mais Patrick Allémoz auteur de ce magnifique projet ! ;)
De même, je ne suis pas assez calé pour répondre à ta question. Peut-être que Patrick saura… :)
Posté le 11 juillet 2019 - 09:55
ah pardon Pierre-Louis !
Et 1000 excuses à Patrick Allémoz !

Patrick, savez-vous comment utiliser cefsharp en offscreen ?

Dans l'attente de votre retour.

Cordialement,
Patrice
Posté le 16 juillet 2019 - 10:45
Bonjour Patrick,

Avez-vous testé cefSharp en mode offscreen.
Je n'arrive pas à le faire fonctionner.

Si quelqu'un a une idée.

Cordialement
Patrice
Membre enregistré
127 messages
Popularité : +4 (6 votes)
Posté le 23 mars 2020 - 06:04
Je sais que ce post est vieux, mais j'aimerais savoir si quelqu'un peut remplir un formulaire automatiquement avec chromions et simuler le clic de la souris sur un bouton ?
Posté le 23 mars 2020 - 13:00
Bonjour,

Pour remplir les champs d'un formulaire
Code est une chaîne

Code ="document.getElementById('email').setAttribute('value','"+email+"');"
Javascript.Avec_Attente(Code)

Code ="document.getElementById('password').setAttribute('value','"+pwd+"');"
Javascript.Avec_Attente(Code)


Pour le click sur le bouton Submit
s_Code = "document.getElementById('submit').onclick(submit);"
Javascript.Sans_Attente(s_Code)

Malheureusement le click automatique sur le bouton ne fonctionne pas chez moi
Membre enregistré
70 messages
Popularité : +1 (1 vote)
Posté le 04 avril 2020 - 23:59
Bonjour,
et merci pour tous les contributeurs de ce forum.
Quelle est la procédure si on souhaite mettre à jour soi-même la version de Chromium de ce projet?
Suffit-il simplement de remplacer les composants de Chromium par leur nouvelle version?
Les DLL 3po.dll ou WindevNet.dll fonctionneront-elles toujours? Ou faut-il les recompiler?
(sachant que seul le code source de WindevNet est connu)

--
www.ibfolio.com
Membre enregistré
70 messages
Popularité : +1 (1 vote)
Posté le 05 avril 2020 - 13:13
Bonjour,
Le projet marche parfaitement avec le package 3po d'origine. Je suis en Windows 7 64 bits, WD24 64 bits v77f (la dernière), mais avec config exe 32 bits.
J'ai voulu mettre à jour la version de Chromium avec la dernière version de cefsharp en date 79.1.360.
J'ai donc remplacé toutes les dll et autres dans le répertoire Chromium - 32 bits et dans le rep de l'exe après les avoir téléchargé sur
https://www.nuget.org/packages/CefSharp.Common/
https://www.nuget.org/packages/CefSharp.WinForms/
https://www.nuget.org/packages/cef.redist.x86/

J'ai rechargé les assemblages, recompilé, régénéré l'exe.
Et j'ai l'erreur : Le package .Net n'est pas à jour dans le répertoire de l'exécutable....Copier le contenu du répertoire 'Chromium etc...

J'ai bien installé le package VC redistrib x86 (et aussi le 64)
J'ai vérifié toutes les DLL de mon projet: aucune n'est bloquée. En allant dans propriétés, aucun bouton 'Débloquer'





Y a-t-il autre chose à faire?

--
www.ibfolio.com
Membre enregistré
70 messages
Popularité : +1 (1 vote)
Posté le 05 avril 2020 - 14:03
C'est l'appel à la méthode Javascript de _3po.dll qui déclenche l'erreur
Javascript est un Javascript(Navigateur)


Faut-il recompiler cette DLL à chaque changement de version? Quelqu'un a-t-il le source?

Je vais essayer de contourner en utilisant WindevNet.dll, mais c'est dommage car les appels javascript Sunchrones et Asynchrones avec délai de réponse, et méthodes de téléchargement étaient sympas dans _3po.

--
www.ibfolio.com
Membre enregistré
70 messages
Popularité : +1 (1 vote)
Posté le 05 avril 2020 - 14:10
voici l'erreur
Erreur à la ligne 41 du traitement Déclarations globales de _3pO_Chromium_Interne.
Le framework .NET a renvoyé l'erreur suivante :
Impossible de charger le fichier ou l'assembly 'CefSharp.WinForms, Version=73.1.120.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138' ou une de ses dépendances. Le fichier spécifié est introuvable.

----- Informations techniques -----

Projet : _3pO_Chromium

Appel WL :
Traitement de 'Déclarations globales de _3pO_Chromium_Interne' (_3pO_Chromium_Interne._3pO_Chromium_Interne), ligne 41

Que s'est-il passé ?
Le framework .NET a renvoyé l'erreur suivante :
Impossible de charger le fichier ou l'assembly 'CefSharp.WinForms, Version=73.1.120.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138' ou une de ses dépendances. Le fichier spécifié est introuvable.

Code erreur : 200007
Niveau : erreur fatale

Dump de l'erreur du module 'wd240net4.dll' (24.0.73.0).
Identifiant des informations détaillées (.err) : 200007
Informations de débogage :
System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assembly 'CefSharp.WinForms, Version=73.1.120.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138' ou une de ses dépendances. Le fichier spécifié est introuvable.
Nom de fichier : 'CefSharp.WinForms, Version=73.1.120.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138'
à System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
à System.Signature..ctor(IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
à System.Reflection.RuntimeConstructorInfo.GetParametersNoCopy()
à System.Reflection.RuntimeConstructorInfo.GetParameters()
à CDotNetType.__pclGetConstructorByList(CDotNetType* , CSLevel* pclPile, Int32 nNbParamPile, STOperationDotNet* pstOperation)
à CDotNetType.__pclGetConstructor(CDotNetType* , CSLevel* pclPile, Int32 nNbParamPile, STMethodeDotNet* pstMethode, STOperationDotNet* pstOperation)
à CDotNetType.vpgcrInvokeConstructor(CDotNetType* , STMethodeDotNet* pstMethode, UInt32* pdwIdentifiant, CSLevel* pclPile, Int32 nNbParamPile, STOperationDotNet* pstOperation)
à CDotNetInstance.bExecuteConstructeur(CDotNetInstance* , STMethodeDotNet* pstMethode, UInt32* pdwIdentifiant, CSLevel* pclPile, Int32 nNbParamPile, STOperationDotNet* pstOperation)

AVT : la journalisation de liaison d'assembly est désactivée.
Pour activer la journalisation des échecs de liaison d'assembly, attribuez la valeur 1 à la valeur de Registre [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD).
Remarque : une certaine perte de performance est associée à l'enregistrement dans le journal des échecs de liaison d'assembly.
Pour désactiver cette fonctionnalité, supprimez la valeur de Registre [HKLM\Software\Microsoft\Fusion!EnableLog].

Informations supplémentaires :
EIT_PILEWL :
Déclarations globales de _3pO_Chromium_Interne (_3pO_Chromium_Interne._3pO_Chromium_Interne), ligne 41
EIT_DATEHEURE : 05/04/2020 14:09:54
EIT_TYPE_WDFILE : <8>
EIT_IDCODE : <0>

--
www.ibfolio.com
Membre enregistré
70 messages
Popularité : +1 (1 vote)
Posté le 07 avril 2020 - 22:38
Pour info, la version de cefsharp utilisée dans le projet est la 73.1.120.Or il est indiqué que pour cette version, CefSharp requires Visual C++ 2015, et non la 2013 livrée avec le projet.
https://github.com/cefsharp/CefSharp/releases/tag/v73.1.120-pre01

On devrait donc plutôt installer le vcredist_xXX.exe de la V2015,
Et le dernier vcredist en date mutualise 2015, 2017 et 2019. Du coup, en installant ce package, on s’assure une compatibilité à long terme.
https://support.microsoft.com/fr-fr/help/2977003/the-latest-supported-visual-c-downloads

--
www.ibfolio.com
Posté le 19 juin 2020 - 11:05
Hello Patrick ALLÉMOZ,

I was looking to integrate CEFsharp in Windev and when I found your project I was delighted, that was exactly what I was looking for.

Everything works fine except for the download management, I can't manage to download a file.
What do I have to do? Can someone help me?

Thanks for your nice work.

I am not a French speaker so I am including an automatic google translation, I hope it is understandable.


In French now:

Bonjour Patrick ALLÉMOZ,

Je cherchais à intégrer CEFsharp à Windev et quand j'ai trouvé votre projet, j'étais ravi, c'était exactement ce que je recherchais.

Tout fonctionne bien sauf la gestion des téléchargements, je n'arrive pas à télécharger un fichier.
Que dois-je faire? Est-ce que quelqu'un peut m'aider?

Merci pour votre beau travail.

Je ne suis pas francophone donc j'inclus une traduction google automatique, j'espère que c'est compréhensible.
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 19 juin 2020 - 12:50
Hi David !

J'ai une version avec la partie téléchargement et la gestion des popup mais je ne l'ai pas testé et terminé.
Cela fait plusieurs mois que je dois mettre en ligne une version mais je n'ai pas eu le temps.

Je m'en occuperai début juillet ... sois patient !

--

My last work about this was to include download and popup ... but I have not tested and finished.

Wait until early July... and I will put a version online with last library.

--
Bon développement, Patrick [3po.fr]
Posté le 19 juin 2020 - 15:18
Hi Patrick,
thanks for your quick reply, I'll be anxiously waiting for your awesome work to be completed.
Best regards

In french...

Salut Patrick,
merci pour votre réponse rapide, j'attendrai avec impatience la fin de votre travail.
Meilleures salutations
Membre enregistré
945 messages
Popularité : +53 (63 votes)
Posté le 19 juin 2020 - 15:58
Patrick ALLÉMOZ a écrit :
Hi David !

J'ai une version avec la partie téléchargement et la gestion des popup mais je ne l'ai pas testé et terminé.
Cela fait plusieurs mois que je dois mettre en ligne une version mais je n'ai pas eu le temps.

Je m'en occuperai début juillet ... sois patient !

--

My last work about this was to include download and popup ... but I have not tested and finished.

Wait until early July... and I will put a version online with last library.

--
Bon développement, Patrick [3po.fr]

J'ai hâte :)
Membre enregistré
150 messages
Popularité : +15 (15 votes)
Posté le 21 juin 2020 - 09:37
Il existe une autre solution, très simple, pour faire fonctionner WebView2Browser (alias Chromium) au sein d'une fenêtre WinDev sans passer par dot.NET.
Le principe pour WinDev est expliqué ici :
http://www.objreader.com/index.php…

et voici à quoi çà ressemble dans la version codée en code natif (C++ 64-bit) que je développe en // de la version WinDev





--
Patrice Terrier
www.zapsolution.com
Membre enregistré
351 messages
Popularité : +75 (75 votes)
Posté le 21 juin 2020 - 20:40
Patrice TERRIER a écrit :
Il existe une autre solution, très simple, pour faire fonctionner WebView2Browser (alias Chromium) au sein d'une fenêtre WinDev sans passer par dot.NET.
Le principe pour WinDev est expliqué ici :
http://www.objreader.com/index.php…

et voici à quoi çà ressemble dans la version codée en code natif (C++ 64-bit) que je développe en // de la version WinDev







--
Patrice Terrier
www.zapsolution.com


Merci Patrice pour ce projet qui pourrait bien remplacer celui ci, il est vrai que l'arrivée de Microsoft Edge (Chromium) apporte de nouvelles possibilités.

--
Bon développement, Patrick [3po.fr]
Posté le 25 juin 2020 - 15:44
Je confirme que le projet ci-dessus de Patrice est fonctionnel et très facilement intégrable dans n'importe quel projet Windev.

Testé et approuvé.

De plus, Patrice nous fait bénéficier de ses propres améliorations et peut aussi répondre à nos demandes particulières (dans ses propres limites quand même :))
Membre enregistré
150 messages
Popularité : +15 (15 votes)
Posté le 26 juin 2020 - 21:39
Jean Michel

Merci pour votre commentaire.

Pour ceux que cela intéresse, je viens de publier la mise-à-jour du projet en version 1.06 ici
http://www.objreader.com/index.php…
et si cette version fonctionne bien, d'ici peu je mettrai à jour la version 1.04 qui se trouve sur le site de dépôt.

--
Patrice Terrier
www.zapsolution.com
Membre enregistré
70 messages
Popularité : +1 (1 vote)
Posté le 27 juin 2020 - 11:26
Bonjour Patrice, et merci pour ce beau travail.
Il serait intéressant de faire un petit résumé d'installation chez les clients pour un projet WD utilisant ce WebBrowser. Sur ce forum ou sur le votre http://www.objreader.com
Avec la liste des pré-requis (versions de Windows compatibles...)
La liste des composants à installer chez le client (avec la taille, et la possibilité ou non d'intégrer l'installation de ces composants dans une installation windev, ou s'il faut demander au client d'installer séparément lui-même certains composants...
L'installation de CEFSharp a certainement des inconvénients par rapport à WebView2Browser, mais le gros avantage pour cefsharp est certainement une installation facile (en intégrant les DLL et les composants nécessaires dans une installation Windev banale), et la taille (80Mo). Pas de MAJ quotidienne chez le client non plus. Je comprends bien l'intérêt de WebView2Browser, mais pour une diffusion simple et transparente auprès de centaines (ou millers) de clients, ça reste contraignant. En revanche, si je devais développer une appli à usage personnel, j'utiliserais probablement WebView2Browser. Qu'en pensez-vous? Si vous avez une vision claire et objective sur cefsharp, pourriez-vous faire un petit tableau rapide et factuel avantages/inconvénients entre cefsharp et WebView2Browser? Ca éclairerait certainement les centaines de développeurs WD qui souhaitent intégrer un webbrowser.

--
www.ibfolio.com
Membre enregistré
150 messages
Popularité : +15 (15 votes)
Posté le 27 juin 2020 - 15:39
Bonjour,

La version postée sur le site de dépôt a été actualisée en 1.06.

Contrairement à ce qui a été dit, ici ou la, il n'y a pas de mise-à-jour quotidienne, ou alors si elle a lieu, elle est absolument indétectable.

Il n'y a pas photo entre cette version de chromium qui correspond à la dernière version utilisée dans la nouvelle mouture du browser Microsoft Edge actuellement en cour d'installation sur toutes les machines qui fonctionnent sous Windows 10.

La solution "Cefsharp" date de plusieurs années et nécessite tout un tas de dépendances dot.NET, alors que "WebView2Browser" est une application native, codée directement en C++ 64-bit (pas de code IL).

Pour le moment le projet Chromium étant toujours en version beta, le "SEUL PREALABLE" est d'installer "Microsoft Edge Canary" afin de pouvoir utiliser WV2B.exe qui est une version modifiée de WebView2Browser.exe.
Lien de téléchargement de "Microsoft Edge Canary" :
https://www.microsoftedgeinsider.com/fr-fr/download

Le code source de WV2B.exe est écrit avec Visual Studio 2019, il est modifié en profondeur afin de pouvoir être utilisé sous le contrôle d'une autre application (WinDev ou autre), le code source est disponible sur mon forum privé à ceux qui en font la demande.

Concernant WV2B.exe, c'est une application skinnée avec mon moteur "WinLIFT", qui fonctionne aussi bien en autonome qu'en tant que fenêtre encapsulée dans un projet WinDev (principe similaire aux fenêtres internes).

Le browser fonctionne toujours à la même vitesse, car il n'a pas besoin de frameworks supplémentaires (WinDev ou dot.NET).

Hormis l'interface skinnée, WV2B fonctionne { presque } de la même façon en tant qu'esclave ou en tant qu'application native. ;-)

Voilà François,
j'espère que ces quelques précisions vous seront utiles, pour le reste et afin que les échanges ne soient pas perdu dans le flot des message de ce forum, je vous conseille de vous inscrire sur www.objreader.com pour poursuivre cette discussion si vous le souhaitez.
Envoyez votre demande à : "objreader (at) gmail.com".

--
Patrice Terrier
www.zapsolution.com
Membre enregistré
150 messages
Popularité : +15 (15 votes)
Posté le 27 juin 2020 - 18:42
François (suite)

Pour en savoir plus au sujet de "Microsoft Edge WebView2" je vous conseille de lire la documentation Microsoft correspondante, à savoir :
https://docs.microsoft.com/en-us/microsoft-edge/webview2/

Selon Microsoft, les bénéfices d'utiliser WebView2 sont :
(traduction Google et Patrice)

1 - Écosystème et compétences Web
Utilisez l'intégralité de la plate-forme Web, des bibliothèques, des outils et des talents qui existent dans l'écosystème Web.

2 - Maintenance simplifiée
Le développement Web permet un déploiement et des maintenances plus rapides.

3 - Prise en charge de Windows 7, 8, 10
Prise en charge d'une expérience utilisateur cohérente sur Windows 7, 8 et 10.

4 - Capacités natives
Accédez à l'ensemble complet des API natives.

5 - Partage de Code
Ajouter du code Web à votre base de code permet une réutilisation accrue sur plusieurs plates-formes.

6 - Prise en charge Microsoft
Microsoft fournit un support et ajoute de nouvelles demandes de fonctionnalités lorsque WebView2 est publié en tant qu'AG.

7 - Déploiement sécurisé
Faites confiance à une version à jour de Chromium avec des mises à jour régulières de la plateforme et des correctifs de sécurité.

8 - Encapsulation
Le code de Chromium est encapsulé directement dans votre application.

9 - Modulable
Ajout de composants Web optionnels dans votre application.

--
Patrice Terrier
www.zapsolution.com
Membre enregistré
150 messages
Popularité : +15 (15 votes)
Posté le 28 juin 2020 - 16:35
S'il y en a que cela intéresse, j'ai une version compatible WD17+, qui utilise "ChampClone "au lieu de "ControlCreate" (car "ChampCrée" n'est disponible que depuis la version 19).
J'ai ajouté aussi le support direct de la flat API GDIPLUS, qui permet de créer dynamiquement les images utilisées dans les boutons de raccourci
(voir la fonction "LoadURL).

--
Patrice Terrier
www.zapsolution.com
Posté le 01 février 2021 - 00:44
Bonjour !

pouvez vous m'aider a implémenter comment autoriser le telechargement dans :
Windev avec CefSharp, je suis débutant et votre aide me sera précieuse
Posté le 20 mars 2021 - 13:09
Patrick ALLÉMOZ a écrit :
Patrice TERRIER a écrit :
Il existe une autre solution, très simple, pour faire fonctionner WebView2Browser (alias Chromium) au sein d'une fenêtre WinDev sans passer par dot.NET.
Le principe pour WinDev est expliqué ici :
http://www.objreader.com/index.php…

et voici à quoi çà ressemble dans la version codée en code natif (C++ 64-bit) que je développe en // de la version WinDev







--
Patrice Terrier
www.zapsolution.com

Merci Patrice pour ce projet qui pourrait bien remplacer celui ci, il est vrai que l'arrivée de Microsoft Edge (Chromium) apporte de nouvelles possibilités.

--
Bon développement, Patrick [3po.fr]

Bonjour Parick, serait il possible d'expliquer comment intégrer le projet de Patrice terrier dans une fenêtre Windev.
Et aussi comment récuperer l'adresse web affiché.
J'ai testé son WebView, mais je n'arrive pas a comprendre pour l'implenter, et surtout comment recupérer par un bouton l'adresse web du site que je suis entrain de consulter.
J'ai réussis a le faire avec CEFSharp, mais sur certain site il fonctionne pas bien (verification du navigateur dépassé).
En plus la gestion des dll à jour est un handicape selon les postes utilisé (j'ai 3 ordinateurs à la maison)
merci
Posté le 20 mars 2021 - 20:54
Pour info pour CefSharp je n'arrive pas à le mettre à jour, si je le fait il me reconnais plus Cef.Initialize() et j'ai une belle erreur fatale. Même en refaisant les assemblage. J'ai testé les version 7 et 8
Membre enregistré
70 messages
Popularité : +1 (1 vote)
Posté le 21 mars 2021 - 09:57
Bonjour, quelqu'un a-t-il déjà testé le nouveau champ HTML 'chromium' de WD26?
Ce nouveau champ HTML à la sauce chromium donne-t-il toute satisfaction, pour pouvoir éviter CEF, etc... ?

--
www.ibfolio.com
Membre enregistré
137 messages
Popularité : +7 (7 votes)
Posté le 21 mars 2021 - 11:27
Francois a écrit :
Bonjour, quelqu'un a-t-il déjà testé le nouveau champ HTML 'chromium' de WD26?
Ce nouveau champ HTML à la sauce chromium donne-t-il toute satisfaction, pour pouvoir éviter CEF, etc... ?

--
www.ibfolio.com

Bonjour, oui nous avons utilisé ce champs en remplacement de CEF, mais nous avons dus faire marche arrière et revenir sur CEF
apres l'utilisation du champs notre application provoquai une surconsommation de ressource et faisait planter le serveur mySQL du client
en fait le champs est utiliser pour afficher des frames provenant d'une application tierces qui tourne en php et mysql
lorsque ces frames sont ouvert avec le nouveau champs HTML, le serveur mysql plante avec une surconsommation mémoire
nous avons pas creuser plus, vue que l'application est en production, nous sommes rapidement revenue a l'utilisation de chromiuum via CEF et tout est rentre dans l'ordre.
Membre enregistré
44 messages
Popularité : +6 (6 votes)
Posté le 22 mars 2021 - 08:23
michael a écrit :
> Pour info pour CefSharp je n'arrive pas à le mettre à jour, si je le fait il me reconnais plus Cef.Initialize() et j'ai une belle erreur fatale. Même en refaisant les assemblage. J'ai testé les version 7 et 8

Bonjour Michael, il y a eu quelques changement à partir de chromium 83 je crois. Virer toutes les dlls et assemblages, reprenez bien toutes les sources à partir du site de cefsharp.

Et revérifier vos appels car il faut passer plus de choses en paramètres.

Ex pour l'initialisation:
Param_Chromium est un objet dynamique "CefSharp.WinForms".CefSettings
Cef.Initialize(Param_Chromium)

Navigateur est un "CefSharp.WinForms".ChromiumWebBrowser dynamique
:Navigateur = allouer un ChromiumWebBrowser()

:Navigateur.Dock = DockStyle.Fill
:Navigateur.Parent = ObjDotNet_Chromium

--
La chute n'est pas un échec. L'échec c'est de rester là où on est tombé.
Membre enregistré
70 messages
Popularité : +1 (1 vote)
Posté le 22 mars 2021 - 09:22
Merci Amine pour ce feedback.
D'autres ont-ils pu tester ce nouveau champ HTML 'chromium' de WD26 avec succès?

--
www.ibfolio.com
Membre enregistré
150 messages
Popularité : +15 (15 votes)
Posté le 22 mars 2021 - 14:48
Pour ceux que cela intéresse, la version officielle du runtime WebView2 est disponible ici
https://developer.microsoft.com/en-us/microsoft-edge/webview2/
Cette version sera désormais installé par défaut lors des mises à jour de Windows.

Pour info la version officielle fonctionne parfaitement avec le browser WV2B de mon application CanaryBay.

--
Patrice Terrier
www.zapsolution.com
Membre enregistré
70 messages
Popularité : +1 (1 vote)
Posté le 22 mars 2021 - 17:33
Bonjour Patrice,
Puisque vous êtes le moteur de ce fil, avez-vous testé le champ HTML 'chromium based' de WD26?
Reste-t-il un intérêt à utiliser CEFSharp, ou Webview?
Cordialement.

--
www.ibfolio.com
Membre enregistré
150 messages
Popularité : +15 (15 votes)
Posté le 22 mars 2021 - 18:25
Je ne peux pas vous répondre car je n'ai pas fait l'effort de tester la 26, surtout que ma version perso WV2B de Chromium fonctionne avec TOUS les langages que j'utilise. En ce qui concerne CEFShap je déteste les usines à gaz dot.NET, je n'ai donc aucune raison de chercher le bâton pour me faire battre, si vous voyez ce que je veux dire ;-)

--
Patrice Terrier
www.zapsolution.com
Posté le 23 mars 2021 - 10:55
merci bien @Zoukman ça fonctionne impec
Membre enregistré
44 messages
Popularité : +6 (6 votes)
Posté le 24 mars 2021 - 08:14
Je cherche a faire une requête en POST pour charger une page mais la je cale un peu ...
J'essaie de transposer le code du Wiki Cef en windev mais sans succès pour le moment
https://github.com/cefsharp/CefSharp/wiki/General-Usage…

Quelqu'un aurait-t-il une méthode ?

--
La chute n'est pas un échec. L'échec c'est de rester là où on est tombé.
Membre enregistré
150 messages
Popularité : +15 (15 votes)
Posté le 26 mars 2021 - 16:48
Suite à la demande d'un utilisateur le projet CanaryBay (WebView2 browser) a été mis à jour en version 1.08
afin de connaître le contenu du champ navigation lorsqu'une nouvelle URL est saisie par l'utilisateur.

Au besoin on peut bloquer la navigation (contrôle parental par exemple) en utilisant:
SendMessageA(gP.hBrowser, gP.Msg, MG_CANCEL, 0)

Cette version est disponible uniquement depuis mon forum privé www.objreader.com
http://www.objreader.com/index.php…

--
Patrice Terrier
www.zapsolution.com
Membre enregistré
44 messages
Popularité : +6 (6 votes)
Posté le 29 mars 2021 - 08:10
Bonjour,

Je me répond à moi-même, et cela pourrait peut-être aider certains d'entre vous : la solution est de faire une dll complémentaire (en c#) permettant de faire un "Load URL with PostData" ou on met en référence les dll CefSharp (attention à bien respecter les versions des dll). J'ai repris la première méthode qui surcharge l'event OnBeforeResourceLoad.
A la fin j'utilise en windev ma fonction manipulable de la forme suivante LoadURLWithPostData(MonWebBrowser est un est un "CefSharp.WinForms".ChromiumWebBrowser ,sURL est une chaine ,sPostData est une chaine,sTypeContent est une chaine)

Chez moi ça marche très bien !

--
La chute n'est pas un échec. L'échec c'est de rester là où on est tombé.
Posté le 29 mars 2021 - 16:57
Quelqu'un sait-il comment mettre en place la gestion des popups avec cefsharp (j'ai réussi à mettre la partie Téléchargment assez facilement mais j'ai du mal avec les popup
Merci d'avance
Posté le 02 mai 2021 - 13:42
Bonsoir à tous quelqu'un a-t-il une solution ici pour integrer un navigateur internet supportant le html5? le champ html de windev 25 ne fonctionne pas. et je voudrais surtout pouvoir executer du code javascript dans windev et appeler les fonctions windev dans javascript . j'ai essayé cefsharp mais je n'arrive pas à appeler les fonctions windev dans javascript. merci d'avance
Membre enregistré
70 messages
Popularité : +1 (1 vote)
Posté le 02 mai 2021 - 22:04
bonsoir,
le champ HTML fonctionne parfaitement en HTML5 même avec Windev 24.
2 choses importantes:

1. dans l'onglet détail, décocher 'Interdit l'exécution des scripts Javascript'
2. ajouter dans le code du projet:
// Permet de gérer la cohabitation de l'ActiveX IE et de .NET
API("OLE32", "CoInitializeEx", Null, 2)

//Pour gérer HTML5 dans les champs HTML et pour gérer plus de 6 websockets par défaut dans les champs HTML
PRJSetRegistKeyForIE()


Procédure globale:
PROCÉDURE PRJSetRegistKeyForIE()

//Liste des valeurs pour la clé selon la version de IE
nValueIE7 est entier = 7000//Internet Explorer 7 (Valeur en Hexa: "0x1B58")
nValueIE8 est entier = 8000//Internet Explorer 8 (standards-based !DOCTYPE) (Valeur en Hexa: "0x1F40")
nValueIE8_1 est entier = 8888//Internet Explorer 8 (regardless of the !DOCTYPE) (Valeur en Hexa: "0x22B8")
nValueIE9 est entier = 9000//Internet Explorer 9 (standards-based !DOCTYPE) (Valeur en Hexa: "0x2328")
nValueIE9_1 est entier = 9999//Internet Explorer 9 (regardless of the !DOCTYPE) (Valeur en Hexa: "0x270F")
nValueIE10 est entier = 10000//Internet Explorer 10 (standards-based !DOCTYPE) (Valeur en Hexa: "0x2710")
nValueIE10_1 est entier = 10001//Internet Explorer 10 (regardless of the !DOCTYPE) (Valeur en Hexa: "0x2711")
nValueIE11 est entier = 11000//Internet Explorer 11 (standards-based !DOCTYPE) (Valeur en Hexa: "0x2AF8")
nValueIE11_1 est entier = 11001//Internet Explorer 11 (regardless of the !DOCTYPE) (Valeur en Hexa: "0x2AF9")
nValueMostRecent est entier = 0//Pour toujours utiliser la version la plus récente de IE (Valeur en Hexa: "0x0000")
/////////////////////////////////
//pour plus d'info sur comment utilise les codes de version pour le lien suivant
//http://msdn.microsoft.com/en-us/library/ee330730%28v=vs.85%29.aspx#browser_emulation
/////////////////////////////////
//Pour gérer plus de 6 websockets par minute, il faut corriger la valeur par défaut de IE pour ce programme
//plus de détails ici
//https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330736(v=vs.85)#websocket-maximum-server-connections
/////////////////////////////////

//Pour tous les utilisateurs de la machine, mais nécessite les droits d'admin pour écrire dans cette clé
sKEY_LOCALMACHINE_64BITS est chaîne = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node"
sKEY_LOCALMACHINE_IE_EMULE6432 est chaîne = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
sKEY_LOCALMACHINE_IE_EMULE est chaîne = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"

//Pour l'utilisateur en cours, mais ne nécessite pas les droits d'admin pour écrire dans cette clé
sKEY_CURRENTUSER_64BITS est chaîne = "HKEY_CURRENT_USER\SOFTWARE\Wow6432Node"
sKEY_CURRENTUSER_IE_EMULE6432 est chaîne = "HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
sKEY_CURRENTUSER_IE_EMULE est chaîne = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
sKEY_CURRENTUSER_IE_MAXWEBSOCKET6432 est chaîne = "HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_WEBSOCKET_MAXCONNECTIONSPERSERVER"
sKEY_CURRENTUSER_IE_MAXWEBSOCKET est chaîne = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_WEBSOCKET_MAXCONNECTIONSPERSERVER"

sExeName est chaîne = fExtraitChemin(ExeInfo(exeNom), fFichier + fExtension)

//Ecrire dans la clé principal
SI PAS RegistreExiste(sKEY_CURRENTUSER_IE_EMULE) ALORS
RegistreCréeClé(sKEY_CURRENTUSER_IE_EMULE)
FIN
//RegistreEcrit(sKEY_CURRENTUSER_IE_EMULE, sExeName, nValueMostRecent, RegistreTypeEntier)
RegistreEcrit(sKEY_CURRENTUSER_IE_EMULE, sExeName, nValueIE11_1, RegistreTypeEntier)

//on remplace la valeur par défaut (6) par 128 (128 max) pour pouvoir ouvrir/rafraichir plus de 6 widgets TradingView par minute
SI PAS RegistreExiste(sKEY_CURRENTUSER_IE_MAXWEBSOCKET) ALORS
RegistreCréeClé(sKEY_CURRENTUSER_IE_MAXWEBSOCKET)
FIN
SI RegistreLit(sKEY_CURRENTUSER_IE_MAXWEBSOCKET, sExeName)<>128 ALORS RegistreEcrit(sKEY_CURRENTUSER_IE_MAXWEBSOCKET, sExeName, 128, RegistreTypeEntier)

//Voir si la machine est en 64 Bits, si oui créé la clé pour les applications 32 bits qui roule sur 64 Bits.
SI RegistreExiste(sKEY_LOCALMACHINE_64BITS) ALORS
SI PAS RegistreExiste(sKEY_CURRENTUSER_IE_EMULE6432) ALORS
RegistreCréeClé(sKEY_CURRENTUSER_IE_EMULE6432)
FIN
// RegistreEcrit(sKEY_CURRENTUSER_IE_EMULE6432, sExeName, nValueMostRecent, RegistreTypeEntier)
RegistreEcrit(sKEY_CURRENTUSER_IE_EMULE6432, sExeName, nValueIE11_1, RegistreTypeEntier)

//on remplace la valeur par défaut (6) par 128 (128 max) pour pouvoir ouvrir/rafraichir plus de 6 websockets (si nécessaire)
SI PAS RegistreExiste(sKEY_CURRENTUSER_IE_MAXWEBSOCKET6432) ALORS
RegistreCréeClé(sKEY_CURRENTUSER_IE_MAXWEBSOCKET6432)
FIN
SI RegistreLit(sKEY_CURRENTUSER_IE_MAXWEBSOCKET6432, sExeName)<>128 ALORS RegistreEcrit(sKEY_CURRENTUSER_IE_MAXWEBSOCKET6432, sExeName, 128, RegistreTypeEntier)
FIN


--
www.ibfolio.com
Membre enregistré
70 messages
Popularité : +1 (1 vote)
Posté le 02 mai 2021 - 22:04
bonsoir,
le champ HTML fonctionne parfaitement en HTML5 même avec Windev 24.
2 choses importantes:

1. dans l'onglet détail, décocher 'Interdit l'exécution des scripts Javascript'
2. ajouter dans le code du projet:
// Permet de gérer la cohabitation de l'ActiveX IE et de .NET
API("OLE32", "CoInitializeEx", Null, 2)

//Pour gérer HTML5 dans les champs HTML et pour gérer plus de 6 websockets par défaut dans les champs HTML
PRJSetRegistKeyForIE()


Procédure globale:
PROCÉDURE PRJSetRegistKeyForIE()

//Liste des valeurs pour la clé selon la version de IE
nValueIE7 est entier = 7000//Internet Explorer 7 (Valeur en Hexa: "0x1B58")
nValueIE8 est entier = 8000//Internet Explorer 8 (standards-based !DOCTYPE) (Valeur en Hexa: "0x1F40")
nValueIE8_1 est entier = 8888//Internet Explorer 8 (regardless of the !DOCTYPE) (Valeur en Hexa: "0x22B8")
nValueIE9 est entier = 9000//Internet Explorer 9 (standards-based !DOCTYPE) (Valeur en Hexa: "0x2328")
nValueIE9_1 est entier = 9999//Internet Explorer 9 (regardless of the !DOCTYPE) (Valeur en Hexa: "0x270F")
nValueIE10 est entier = 10000//Internet Explorer 10 (standards-based !DOCTYPE) (Valeur en Hexa: "0x2710")
nValueIE10_1 est entier = 10001//Internet Explorer 10 (regardless of the !DOCTYPE) (Valeur en Hexa: "0x2711")
nValueIE11 est entier = 11000//Internet Explorer 11 (standards-based !DOCTYPE) (Valeur en Hexa: "0x2AF8")
nValueIE11_1 est entier = 11001//Internet Explorer 11 (regardless of the !DOCTYPE) (Valeur en Hexa: "0x2AF9")
nValueMostRecent est entier = 0//Pour toujours utiliser la version la plus récente de IE (Valeur en Hexa: "0x0000")
/////////////////////////////////
//pour plus d'info sur comment utilise les codes de version pour le lien suivant
//http://msdn.microsoft.com/en-us/library/ee330730%28v=vs.85%29.aspx#browser_emulation
/////////////////////////////////
//Pour gérer plus de 6 websockets par minute, il faut corriger la valeur par défaut de IE pour ce programme
//plus de détails ici
//https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330736(v=vs.85)#websocket-maximum-server-connections
/////////////////////////////////

//Pour tous les utilisateurs de la machine, mais nécessite les droits d'admin pour écrire dans cette clé
sKEY_LOCALMACHINE_64BITS est chaîne = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node"
sKEY_LOCALMACHINE_IE_EMULE6432 est chaîne = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
sKEY_LOCALMACHINE_IE_EMULE est chaîne = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"

//Pour l'utilisateur en cours, mais ne nécessite pas les droits d'admin pour écrire dans cette clé
sKEY_CURRENTUSER_64BITS est chaîne = "HKEY_CURRENT_USER\SOFTWARE\Wow6432Node"
sKEY_CURRENTUSER_IE_EMULE6432 est chaîne = "HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
sKEY_CURRENTUSER_IE_EMULE est chaîne = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
sKEY_CURRENTUSER_IE_MAXWEBSOCKET6432 est chaîne = "HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_WEBSOCKET_MAXCONNECTIONSPERSERVER"
sKEY_CURRENTUSER_IE_MAXWEBSOCKET est chaîne = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_WEBSOCKET_MAXCONNECTIONSPERSERVER"

sExeName est chaîne = fExtraitChemin(ExeInfo(exeNom), fFichier + fExtension)

//Ecrire dans la clé principal
SI PAS RegistreExiste(sKEY_CURRENTUSER_IE_EMULE) ALORS
RegistreCréeClé(sKEY_CURRENTUSER_IE_EMULE)
FIN
//RegistreEcrit(sKEY_CURRENTUSER_IE_EMULE, sExeName, nValueMostRecent, RegistreTypeEntier)
RegistreEcrit(sKEY_CURRENTUSER_IE_EMULE, sExeName, nValueIE11_1, RegistreTypeEntier)

//on remplace la valeur par défaut (6) par 128 (128 max) pour pouvoir ouvrir/rafraichir plus de 6 widgets TradingView par minute
SI PAS RegistreExiste(sKEY_CURRENTUSER_IE_MAXWEBSOCKET) ALORS
RegistreCréeClé(sKEY_CURRENTUSER_IE_MAXWEBSOCKET)
FIN
SI RegistreLit(sKEY_CURRENTUSER_IE_MAXWEBSOCKET, sExeName)<>128 ALORS RegistreEcrit(sKEY_CURRENTUSER_IE_MAXWEBSOCKET, sExeName, 128, RegistreTypeEntier)

//Voir si la machine est en 64 Bits, si oui créé la clé pour les applications 32 bits qui roule sur 64 Bits.
SI RegistreExiste(sKEY_LOCALMACHINE_64BITS) ALORS
SI PAS RegistreExiste(sKEY_CURRENTUSER_IE_EMULE6432) ALORS
RegistreCréeClé(sKEY_CURRENTUSER_IE_EMULE6432)
FIN
// RegistreEcrit(sKEY_CURRENTUSER_IE_EMULE6432, sExeName, nValueMostRecent, RegistreTypeEntier)
RegistreEcrit(sKEY_CURRENTUSER_IE_EMULE6432, sExeName, nValueIE11_1, RegistreTypeEntier)

//on remplace la valeur par défaut (6) par 128 (128 max) pour pouvoir ouvrir/rafraichir plus de 6 websockets (si nécessaire)
SI PAS RegistreExiste(sKEY_CURRENTUSER_IE_MAXWEBSOCKET6432) ALORS
RegistreCréeClé(sKEY_CURRENTUSER_IE_MAXWEBSOCKET6432)
FIN
SI RegistreLit(sKEY_CURRENTUSER_IE_MAXWEBSOCKET6432, sExeName)<>128 ALORS RegistreEcrit(sKEY_CURRENTUSER_IE_MAXWEBSOCKET6432, sExeName, 128, RegistreTypeEntier)
FIN


--
www.ibfolio.com
Membre enregistré
4 messages
Posté le 03 mai 2021 - 19:02
J'ai essayé cette méthode sans grand succès
en effet voici le contenu HTML que j'essaie d'afficher depuis je réussis avec cefsharp mais j’ignore comment gérer les callbacks
Peux-tu essayer et me dire si ça marche sur ton champ html nb: j'utilise windev 25. Merci d'avance .

<!doctype html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.5.0/css/ol.css" type="text/css">
<style>
.map {
height: 100vh;
width: 100%;
}
</style>
<script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.5.0/build/ol.js"></script>
<title>OpenLayers example</title>
</head>
<body>

<div id="map" class="map"></div>
<script type="text/javascript">
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})],
view: new ol.View({
center: ol.proj.fromLonLat([37.41, 8.82]),
zoom: 4
})
});
</script>
</body>
</html>
Membre enregistré
4 messages
Posté le 04 mai 2021 - 00:06
bonsoir patrick je voudrais savoir comment gérer les callbacks javascript dans cefsharp. merci d'avance
Posté le 04 mai 2021 - 11:47
Armel

Je ne pense pas que mon projet "CanaryBay" puisse vous aider, car c'est un navigateur Internet pas un champ html.
Membre enregistré
4 messages
Posté le 05 mai 2021 - 08:36
bonjour à tous. pour ceux qui utilisent cefsharp 3po chromium quelqu'un sait-il comment gérer les callbacks javascript ? (je voudrais pouvoir appeler les fonctions wlangage à partir de javascript ) Mon projet est bloqué juste à cause de ça merci d'avance
Posté le 15 mai 2021 - 18:28
Bonjour !

je suis toujours en Attente des dernièrres Modifications de votre projet chromium Windev
quand est ce que vous allez publier cela
Posté le 06 juillet 2021 - 01:16
Bonjour Alexandra !

Pouvez vous publier la source du fonctionnement du téléchargement je suis vraiment coincé dedans
Merci avant tout
Posté le 07 juillet 2021 - 19:01
Salut tous le monde
y'a t'il quelqu'un qui a pu faire fonctionner le téléchargement implémenter dans 3pO_Chromium des fichier
Pouvez vous publier la source du fonctionnement du téléchargement je suis vraiment coincé dedans
Merci pour votre partage
Membre enregistré
7 messages
Popularité : +3 (3 votes)
Posté le 12 juillet 2021 - 18:13
Bonjour,
L'un d'entre vous à t-il réussit à utilisé un proxy avec CefSharp ? Le ".Add" n'est pas reconnu dans Windev avec la command de Paramètres CefCommandLineArgs merci d'avance

Paramètres_Chromium.CefCommandLineArgs.Add("PROXYSRV","http://1.10188.78:45208")
Posté le 15 juillet 2021 - 02:47
C'est Bon j'ai pu faire fonctionner le téléchargement des fichier dans CEFSHARP seulement j'ai créer mon propre navigateur CEFSHARP Chromium il me maintenant que la gestion des popup et leurs redirections pour les ouvrir dans des onglets.
Posté le 16 juillet 2021 - 14:33
Le Composant webview2 de microsoft le permet, j'ai un peu simplifié ma classe pout cet exemple

cWebView2 est une Classe
m_pclMyWebView est un object Microsoft.Web.WebView2.WinForms.WebView2 dynamique
m_pclURI est un object 'System.Uri' dynamique
m_pclCoreWebView2 est un object CoreWebView2 dynamique
m_pclCWVSettings est un object CoreWebView2Settings dynamique
m_pclCoreWebView2EnvironmentOptions est un objet CoreWebView2EnvironmentOptions dynamique
m_pclCoreWebView2Environment est un objet CoreWebView2Environment dynamique
m_pclTask est un System.Threading.Tasks.Task dynamique
end

PROCÉDURE Constructeur(pURL est une chaine)
:m_pclCoreWebView2 = Null
:m_pclMyWebView = allouer un WebView2

// public System.Threading.Tasks.Task EnsureCoreWebView2Async Microsoft.Web.WebView2.Core.CoreWebView2Environment environment = default);
:m_pclTask = :m_pclMyWebView.EnsureCoreWebView2Async(:m_pclCoreWebView2Environment) // Return a Taskm démarre l'initialisation

// Dock it to a panel dotnet object
:m_pclURI = allouer System.Uri(pURL )
:m_pclMyWebView.Parent = FEN_WebBrowser.DOTNET_WebView2 // Must be a .net Panel !!!

:m_pclMyWebView.Dock = DockStyle.Fill
:m_pclMyWebView.Source = :m_pclURI
:m_pclMyWebView.set_Visible(True)
return

// Après :
PROCÉDURE Navigate(pURL est une chaine)
:m_pclURI = allouer System.Uri(:pURL )
:m_pclMyWebView.Source = :m_pclURI
Posté le 16 juillet 2021 - 23:11
Bonjour Réginald Dupuis !

pouvez vous publier le projet pour que je puisse le tester bien-sur avec prise en charge des Téléchargement de fichiers ainsi la gestion des popups pour les ouvrir dans un nouvel onglet a chaque fois que je clique sur un lien dans une page ce dernier sera ouvert dans un nouvel onglet c'est a dire une nouvelle fenêtre contextuelle qui s'ouvre dans un nouvel onglet
Membre enregistré
44 messages
Popularité : +6 (6 votes)
Posté le 16 novembre 2021 - 10:39
D'après les exemples CefSharp
//NOTE: Set this before any calls to Cef.Initialize to specify a proxy with username and password
            //One set this cannot be changed at runtime. If you need to change the proxy at runtime (dynamically) then
            //see https://github.com/cefsharp/CefSharp/wiki/General-Usage#proxy-resolution
            //CefSharpSettings.Proxy = new ProxyOptions(ip: "127.0.0.1", port: "8080", username: "cefsharp", password: "123");


--
La chute n'est pas un échec. L'échec c'est de rester là où on est tombé.