Quantcast
Channel: PC SOFT - Blogs
Viewing all 1435 articles
Browse latest View live

Notifications du moteur HFSQL Client/Serveur, accès direct par le centre de contrôle HFSQL

$
0
0
Le moteur HFSQL Client/Serveur (manta) s'exécute en tant que service, c'est donc l'observateur d'évènements de Windows qui contient les éventuels retours du mécanisme de sécurité du WLangage lorsqu'un traitement ne peut pas être exécuté.

Le centre de contrôle HFSQL permet, à partir de la version 18, et pour un moteur en version 18, de visualiser directement ces notifications. Il suffit de se connecter au serveur, de le sélectionner, puis de se positionner sur l'onglet "Notifications" :



Astuce, toujours dans le centre de contrôle HFSQL, le volet "Configuration" a maintenant un choix "Notifications" :



Il permet de configurer une action lorsqu'une nouvelle notification est ajoutée par le moteur HFSQL Client/Serveur (manta) :
  • envoyer un message aux utilisateurs des centres de contrôle (WDBAL),
  • envoyer un email via un serveur SMTP, à une liste de destinataires. 
La configuration des notifications permet de spécifier le niveau de gravité à partir duquel un message ou un email est envoyé.

Rappel : le moteur HFSQL Client/Serveur dispose d'un mécanisme de log permettant de suivre les différents traitements exécutés. Lorsqu'une notification est remontée par le serveur suite à un échec de traitement, de réplication, un recoupement avec le log peut donc permettre de cerner très précisément le cas de figure.

Editeur de fenêtres et de pages, fermer un élément à partir de barre des documents : merci la roulette...

$
0
0
La barre des documents ouverts permet un accès direct à tous les éléments du projet qui sont en cours d'édition. On passe ainsi simplement d'une fenêtre, à un état, au code d'une classe en cours d'édition...

Une astuce bien pratique permet d'accélérer la fermeture des éléments qui ne sont plus utilisés. En effet pour refermer un élément, il faut d'abord le réactiver par un clic, puis cliquer sur la croix de fermeture. L'astuce consiste à utiliser la croix avec la roulette de la souris, et non pas avec le bouton gauche. La fermeture est alors directe, sans repasser par l'élément :



Astuce bis : Shift+Ctrl+W permet de refermer tous les éléments ouverts en une seule action. D'autres raccourcis sont disponibles dans la page "les raccourcis clavier".




Mise à jour des versions 18 de WINDEV, WEBDEV et WINDEV Mobile

Pourquoi la visualisation d'un site Web HTML 5 change en Intranet avec Internet Explorer ?

$
0
0
Lorsqu'un site Web utilise la norme de génération HTML 5 pour les pages, et que le navigateur utilisé est Internet Explorer, le rendu du site peut être incorrect si l'accès au serveur Web qui héberge le site se fait dans par le réseau local (Intranet) :
  • des parties du site ne s'affichent pas,
  • des cadres ou celles se décalent,
  • les popups ne s'affichent pas dans leur totalité ...
Le même site affiché avec un accès Internet est parfait.

Ce résultat vient d'une option spécifique de Internet Explorer, qui affiche par défaut les sites Intranet avec un ancien mode de compatibilité, inadapté aux pages HTML 5 actuelles.

Dans ce cas afin d'obtenir le même rendu, il faut modifier les options de Internet Explorer :
  • lancer Internet Explorer,
  • menu "Outils .. Options Internet",
  • volet "Sécurité",
  • sélectionner "Intranet local",
  • boutons "Sites",
  • décocher toutes les cases.

Rappel : la norme de génération des pages peut être indiquée :
  • dans la description du projet, volet "Avancé", pour toutes les pages du site,
  • dans la description de chaque page dans le volet "Général", si une page doit avoir une norme de génération différente de celle des autres pages.

Il est également possible de forcer le mode de rendu de Internet Explorer par une balise "méta" : 

TDF TECH 2013 DES VERSIONS 18 DE WINDEV, WEBDEV ET WINDEV MOBILE

Mise à jour des versions 18 de WINDEV, WEBDEV et WINDEV Mobile

Mise à jour des versions 18 de WINDEV, WEBDEV et WINDEV Mobile

Comment expliquer une différence de résultat, entre le test "Go" d'un projet depuis l'éditeur de WINDEV, et l'exécutable créé à partir du même projet ?

$
0
0


L'exécution "Go" d'un projet en test depuis l'éditeur de WINDEV, est globalement identique à l'exécution obtenue après compilation du projet, lorsque l'exécutable est lancé. En effet, le test "Go" depuis l'éditeur et l'exécutable compilé reposent sur le même framework d'exécution, la différence est le nom du processus :
  • WDTST.EXE lorsque le test est fait depuis l'éditeur de WINDEV (WDTST64.EXE si test 64 bits),
  • ou le nom donné à l'exécutable lui-même après compilation.

Quelques cas particuliers peuvent conduire à une différence de résultat après compilation, voici les principaux :
 
  • vérifier le paramétrage du mode test, dans le volet "Projet" du ruban, groupement "Mode test" (raccourci Shift+Ctrl+F9). En effet, il permet de faire des tests "Go" depuis l'éditeur, en modifiant les conditions d'exécution : compte utilisateur, répertoire courant, manifeste, ligne de commande... Un jour ou l'autre on tombe dans le piège d'avoir fait un test avec une modification de ces réglages, sans revenir à la configuration standard. Ainsi l'exécutable généré par la suite pourra avoir une réaction différente du mode test (ligne de commande différente, recherche d'un fichier faussée par l'utilisation d'un répertoire courant différent, droits manquants car l'utilisateur Windows n'est plus le même ...).
  • vérifier les expressions évaluées dans le débogueur. Le passage d'un traitement en pas à pas permet de tester des variables, des fonctions WLangage... Ces traitements exécutés peuvent avoir un impact sur le résultat de l'exécution. Exemple extrême, un appel de HLit* dans les expressions à évaluer a une incidence sur le code en cours si il parcours la base de données ! Une fois l'application compilée, les expressions du débogueur ne sont plus évaluées, un résultat peut donc être différent.
    Dans ce cas précis, la différence de résultat s'observe entre le test, et le test via le débogueur.
    A noter concernant les expressions du débogueur, qu'une réinitialisation complète est possible en supprimant le fichier de paramètres \<nom-projet>\<nom-projet>.env.
  • rechercher les appels de la fonction "EnModeTest". Il arrive parfois de conditionner un code qui finalement devient nécessaire à tous les traitements, même après compilation. L'oubli de "EnModeTest" n'est pas rare, et peut également provoquer une différence de résultat avec l'exécutable compilé.
  • contrôler la localisation et utilisation du Framework WINDEV. Dans l'assistant de création de l'exécutable, les étapes relatives au Framework d'exécution permettent d'indiquer l'emplacement dans lequel le framework sera utilisé, ainsi que les DLL qui pourront être chargées. En mode test tout le Framework est chargé de façon systématique, mais l'exécutable ne chargera que la partie demandée. Si une fonctionnalité entière ne donne pas le résultat attendu, ou qu'une DLL est manquante, il s'agit très probablement d'une erreur à l'étape de configuration du Framework lors de la création de l'exécutable.
  • effectuer un essai de compilation en désactivant le JITc (appel de ModeExécution(DésactiveExécutionOptimisée) au début du projet).
  • vérifier les traitements de modification des champs appelés implicitement lorsque la persistance des données est utilisée (champs avec la coche "Mémoriser la valeur")

Concernant l'accès aux données de l'application, des différences peuvent également se produire dans le cas de l'utilisation d'une base HFSQL Classic, ou d'un fichier en accès direct (txt, .ini...). En effet dans le cas du test, les données sont localisées par défaut dans le répertoire de génération de la configuration courante. Avec l'exécutable compilé, les données doivent être dans le dossier des données de l'utilisateur Windows, à moins qu'elles ne soient dans l'exécutable (non modifiables dans ce cas). En cas de difficulté sur la localisation des données utilisées, un "Trace(NomFichier..Répertoire)" peut rapidement lever toute ambiguïté, tout comme une localisation explicite des données avec HChangeRep. Concernant les performances, surtout dans le cas d'un projet contenant d'un nombreux éléments, il est conseillé de forcer directement l'accès aux données sur le disque avec HChangeLocalisation("*",hDisque).


En cas de différence persistante de résultat d'un exécutable, après vérification de ces différents points, un débogage de l'exécutable lancé et/ou un audit dynamique s'imposent afin de suivre en pas à pas le traitement, comme on le fait traditionnellement depuis l'éditeur en mode test en phase de développement. Là la différence finit toujours par ressortir, généralement assortie d'un "bon sang mais c'est bien sûr" !

La LST 92 arrive, le sommaire est disponible !

$
0
0
Le sommaire de la LST est disponible, il s'agit d'un numéro spécial 100 pages !


Disponibilité prévisionnelle :
  • fin mai 2013 en France métropolitaine : 
  • une semaine supplémentaire DOM-TOM et hors France.

Précisions sur la complétion automatique des champs d'un site WEBDEV dans les navigateurs

$
0
0
Il est très pratique d'avoir une complétion automatique dans les champs d'un site Web, afin d'éviter la ressaisie régulière d'informations. Exemple pour un login dans un forum :




S'agissant d'une fonctionnalité native des navigateurs, les sites Web créés avec WEBDEV profitent automatiquement de cette possibilité de complétion. Voici cependant quelques points à connaître qui gravitent autour de ce sujet, et qui permettent d'affiner encore les résultats en fonction des besoins de chaque site.

En premier lieu, lorsque la génération du site se fait en HTML5, il est possible de spécifier pour chaque champ un "input type". Cette fonctionnalité du HTML5 permet d'obtenir un comportement adapté du navigateur, en fonction du champ. Par exemple pour un champ permettant la saisie d'une adresse email, le navigateur sur une tablette proposera automatiquement un clavier adapté comportant uniquement les touches utiles à la saisie d'une adresse email. Dans un site créé avec WEBDEV, il suffit de spécifier un masque de saisie HTML5 pour les champs :




Ensuite, il peut être intéressant de proposer des champs dont la complétion sera partagée avec celle d'autres sites. Pour cela, il faut donner aux champs un nom (dans description de chaque champ), qui sera commun aux différents sites. Mais attention, par défaut la génération des pages utilise un mécanisme d'alias qui ne laisse par le nom complet dans les pages générées. Pour permettre la création de pages avec un nom précis pour les champs, il faut intervenir sur la description du projet, volet avancé, afin de désactiver la compression du code javascript. En image :



Enfin, il peut être à l'inverse nécessaire pour certains champs de ne pas avoir de complétion. C'est possible très simplement en décochant l'option de complétion automatique proposée dans le volet "Détail" de la description de chaque champ.

Message "le fichier est introuvable" avec le Android SDK Tools 22

$
0
0
Une version 22 du SDK Tools pour la compilation des applications Android est proposée par le "SDK Manager" :


Cette mise à jour change la méthode de compilation, et ne permet donc plus la génération du fichier APK avec la version interne 56f de WINDEV Mobile, et les précédentes (retour "Le fichier est introuvable").

Une adaptation a été faite par l'équipe Développement, elle est disponible immédiatement dans les ressources pratiques :
http://www.pcsoft.fr/st/nouveautes-st.html

Elle sera bien sûr incluse dans la prochaine mise à jour complète de WINDEV Mobile 18.

Sur ce thème le billet suivant de 2011 reste on ne peut plus d'actualité :
L'importance de garder son environnement à jour

Comment changer la couleur de fond du titre d’une ressource dans le champ planning ?

$
0
0
Depuis la version 18, il est possible de changer la couleur de fond d'une ressource ou du titre de cette ressource.
La syntaxe est un peu particulière la voici :

Pour changer la couleur de fond du titre :
PLN_NOMPLANNING..Ressource["Nom_Ressource"]..CouleurFondTitre couleurchoisie

Pour changer la couleur de fond de la ressource :
PLN_NOMPLANNING..Ressource["Nom_Ressource"]..CouleurFond couleurchoisie

Le nom de la ressource est la valeur affichée ou la valeur de gLien si vous avez utilisé gLien pour ajouter la ressource.
Exemple pour modifier la couleur de la ressource " Anne " dans l'exemple WD Planning :
PLN_PRINCIPALE..Ressource["4"]..CouleurFondTitre RVB(255,151,0)

Système 64 bits et RAM à profusion c'est bien, à condition de pouvoir en profiter...

$
0
0
Voici un lien important détaillant un mécanisme de gestion des caches par les systèmes Windows 64 bits :

En effet les serveurs 64 bits sont maintenant généralisés, avec des quantités de mémoire vive confortables, mais il n'est pas rare qu'une application ne parvienne pas à utiliser toute la mémoire dont elle aurait besoin.

Pour résumer, par défaut un système d'exploitation Windows 64 bits peut être configuré pour que sa gestion des caches utilise la majeure partie de la RAM installée. Si les caches systèmes consomment trop de RAM, il y aura toujours un manque de mémoire pour les applications et services, donc du "swap" en mémoire virtuelle et la dégradation des performances qui va avec.

En limitant la quantité de mémoire utilisable par les caches du système, on peut donc profiter de la RAM disponible. Attention, comme toujours un juste équilibre doit être trouvé, en fonction des différentes applications et services qui cohabitent, du cache système reste toujours nécessaire.

Ce réglage est notamment très important pour un serveur 64 bits hébergeant un moteur de base de données tel que HFSQL Client/Serveur.
 
Mise à jour 2/12/2014 :
A partir de la version 19 le centre de contrôle HFSQL permet de régler les caches de Windows par le volet "Configuration" :




Mise à jour des versions 18 (62f) de WINDEV, WEBDEV et WINDEV Mobile

Nouvelle opération "2 pour 1 euro de plus" !

$
0
0


Nouvelle opération "2 pour 1 euro de plus", qui ne lésine pas sur le matériel proposé !!!
  • Smartphone Galaxy S4,
  • Smartphone Galaxy S4 mini,
  • Smartphone Galaxy Beam avec pico-projecteur,
  • Tablette Galaxy Tab 3 10.1",
  • Tablette Galaxy Tab 3 8 ",
  • PC Portable 15.6",
  • PC Portable 13.3" !


Nouvelle version de WINDEV, WEBDEV et WINDEV MOBILE 18 - 62h

Consommation d'un webservice, comment obtenir le source XML complet de la réponse du serveur ?

$
0
0
Un nouveau type a été inclus dans le WLangage à partir de la version interne 56f de WINDEV et WEBDEV 18. Il est très pratique lorsque l'on souhaite connaître le contenu complet renvoyé par un webservice, il s'agit du type wsRéponse. Il évite d'avoir recours à des utilitaires système tel que wireshark lorsque l'on souhaite étudier finement un résultat, ou avoir le source dans le but d'une certification. 

Voici une illustration de son utilisation avec la consommant d'un webservice Sesam Vital. Par défaut on récupère directement les données du résultat, via un type inclus dans la description du webservice, le wsdl. Exemple : 

mareponseDemanderInfosPECResponse est un DemanderInfosPECResponse
mareponseDemanderInfosPECResponse = DemanderInfosPEC(MaDemande, MonClient, MonToken, MaVitale)

A ce stade la variable mareponseDemanderInfosPECResponse est structurée et permet une utilisation immédiate des données du résultat. Le nouveau type wsRéponse permet d'avoir la réponse d'un niveau "au dessus", donc avec la réponse structurée (type DemanderInfosPECResponse dans l'exemple) et le source XML complet. Exemple :

mareponseDemanderInfosPECResponse est DemanderInfosPECResponse dynamique
maReponse est un wsRéponse
maReponse = DemanderInfosPEC(MaDemande, MonClient, MonToken, MaVitale)
SIErreurDétectée=VraiALORS
 Trace(maReponse..SourceXML)
 Erreur(ErreurInfo(errComplet))
SINON
 Info("Réponse complète", maReponse..SourceXML)
 mareponseDemanderInfosPECResponse = maReponse..Valeur
FIN

Lors de l'appel d'une fonction d'un webservice, il est également possible d'obtenir le source XML complet envoyé, grâce à la fonction SOAPPrépare.

A consulter sur ce sujet : 

Sesam Vitale, les liens utiles ...

$
0
0
A partir de la version 18 de WINDEV et WEBDEV, l'importation des webservices intègre le nécessaire pour permettre la consommation des webservices sécurisés utilisés pour gérer les cartes Sesam Vitale.

L'utilisation d'une carte Sesam Vitale dans une application n'utilise donc pas un jeu d'instruction WLangage spécifique, il n'y a pas de fonction Sesam*, il suffit d'effectuer l'importation les webservices requis par la fonctionnalité à implémenter.

Ces webservices sont fournis par le GIE SESAM-VITALE, au travers d'un processus d'agrément des logiciels qui vont les exploiter. Cette mission d'agrément est assurée par le CNDA (Centre National de Dépôt et d'Agrément).

La réalisation de solutions applicatives utilisant les webservices Sesam Vitale nécessite donc de s'enregistrer auprès du CNDA, afin d'entreprendre le processus d'agrément nécessaire. Le site du CNDA fournit l'ensemble des éléments administratifs et techniques nécessaires pour cette démarche :

La LST 93 arrive !

$
0
0
La diffusion de la LST 93 se précise, elle sera dans les boîtes mi-juillet en France métropolitaine, et la semaine suivante pour les DOM-TOM et hors France.

Au programme un utilitaire qui permettra de libérer de la mémoire sur de nombreux serveurs, pour des applications plus rapides !

Disponibilité du code "Affichage d'une ligne" des zones répétées, des applications pour iOS

$
0
0
Le champ zone répétée pour iOS a initialement inclus dans ses traitements le code "Affichage d'une ligne", comme pour les autre plate-formes.

Cependant à l'usage ce traitement a pénalisé la fluidité des applications. A partir de la version 180062h de WINDEV Mobile 18, il a donc donc été retiré de la plate-forme iOS :


Afin d'éviter un changement de comportement dans les applications existantes, le code reste exécuté si il a été saisi dans une précédente version. Par contre, dans de nouvelles applications pour iPhone et iPad, il n'est donc plus possible de l'utiliser. Sur cette plate-forme, les données des champs qui pouvaient être calculées uniquement lors de l'affichage, doivent donc être calculées dès le chargement afin d'être renseignées d'emblée pour toutes les répétitions. 
Viewing all 1435 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>