PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 24 → [WD21] Projet de démonstration 'Chromium'
[WD21] Projet de démonstration 'Chromium'
Débuté par Patrick ALLÉMOZ, 05 juil. 2016 07:55 - 58 réponses
Membre enregistré
273 messages
Popularité : +6 (6 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é
273 messages
Popularité : +6 (6 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é
273 messages
Popularité : +6 (6 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é
575 messages
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é
273 messages
Popularité : +6 (6 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é
273 messages
Popularité : +6 (6 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é
273 messages
Popularité : +6 (6 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é
273 messages
Popularité : +6 (6 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é
874 messages
Popularité : +11 (11 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é
12 messages
Posté le 03 mai 2017 - 14:09
Merci, ca fonctionne à merveille :merci:
Membre enregistré
12 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é
12 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é
12 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é
12 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é
273 messages
Popularité : +6 (6 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é
273 messages
Popularité : +6 (6 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é
575 messages
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é
273 messages
Popularité : +6 (6 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é
273 messages
Popularité : +6 (6 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é
22 messages
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é
51 messages
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é
8 messages
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é
8 messages
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é
575 messages
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é
51 messages
Posté le 18 avril 2019 - 21:48
Excellente nouvelle, merci Jordan

je vais tester de suite
Membre enregistré
273 messages
Popularité : +6 (6 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é
273 messages
Popularité : +6 (6 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é
213 messages
Popularité : +1 (1 vote)
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é
213 messages
Popularité : +1 (1 vote)
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é
213 messages
Popularité : +1 (1 vote)
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é
213 messages
Popularité : +1 (1 vote)
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é
273 messages
Popularité : +6 (6 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é
213 messages
Popularité : +1 (1 vote)
Posté le 27 juin 2019 - 09:07
Merci beaucoup Patrick ! :merci:
Membre enregistré
213 messages
Popularité : +1 (1 vote)
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é
575 messages
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é
213 messages
Popularité : +1 (1 vote)
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