PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Présentation
  • Comment le faire ?
  • Afficher les erreurs du mode 64 bits et compiler en mode 64 bits
  • Installer un site WEBDEV sur un serveur 64 bits
  • Attention
  • Comment le faire ?
  • Activer le mode 64 bits
  • Mode de gestion des erreurs de compilation
  • Erreurs de compilation spécifiques au 64 bits
  • Déployer un site compatible 64 bits
  • Limites
  • Limites diverses
  • Base de registre et fichiers système
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Présentation
Les ordinateurs récents sont désormais équipés par défaut de systèmes d’exploitation "64 bits", que ce soient des machines de type serveur ou des machines de bureau.
La principale différence entre un système "32 bits" et un système "64 bits" est la suivante : en "64 bits", les applications et le système ne sont plus limités au niveau de l’allocation mémoire.
En effet, en "32 bits", le système d’exploitation est limité à 4 Go de mémoire, et en "64 bits", il n’y a quasiment plus de limite (la limite théorique est à 18 milliards de Gigas).
Fonctionnement des sites 32/64 bits : Un site compilé en 64 bits peut être utilisé avec un serveur 32 bits ou 64 bits. Un serveur 64 bits ne peut afficher que des sites 64 bits. Si le site n'a pas été généré en 64 bits, une erreur s'affichera au lancement du site.
Comment le faire ?

Afficher les erreurs du mode 64 bits et compiler en mode 64 bits

Pour afficher les erreurs du mode 64 bits et compiler en mode 64 bits :
  1. Affichez la description du projet ("Projet .. Description du projet").
  2. Dans l'onglet "Compilation", sélectionnez l'option "Exécution 64 bits : activer les erreurs de compilation et la compatibilité 64 bits".
  3. Validez.
WEBDEV - Code ServeurWindows

Installer un site WEBDEV sur un serveur 64 bits

Pour installer un site WEBDEV sur un serveur 64 bits :
  1. Installez un serveur d'application WEBDEV 64 bits sur un serveur Web 64 bits.
  2. Dans votre projet, vérifiez que le mode 64 bits est activé (dans la description du projet, voir le paragraphe ci-dessus)
  3. Sélectionnez l'option "Atelier .. Créer la procédure d'installation" et suivez les différentes étapes de l'assistant.
Remarque : Un site compilé en 64 bits peut être utilisé avec un serveur 32 bits ou 64 bits. Un serveur 64 bits ne peut afficher que des sites 64 bits. Si le site n'a pas été compilé avec l'option "64 bits", une erreur s'affichera au lancement du site.

Attention

  • Si vos sites utilisent des appels directs aux API système Windows 32 bits (fonction API ou AppelDLL32, ...), vous devez adapter le type des paramètres de ces appels directs.
  • La manipulation des "handles", pointeurs et adresses doit être effectuée à l'aide d'un entier de type Entier Système. Ce type d'entier permet d'adapter l'entier manipulé à la taille du système en cours (4 octets pour un système 32 bits, 8 octets pour un système 64 bits).
  • En 64 bits, si une valeur trop grande est affectée dans une variable de type Entier sur 1, 2, 4 ou 8 octets, la valeur de la variable ne sera pas la même qu'en 32 bits.
Comment le faire ?

Activer le mode 64 bits

Pour passer simplement un site WEBDEV 32 bits en 64 bits :
  1. Ouvrez le projet WEBDEV 32 bits sous l'éditeur.
  2. Affichez la description de la configuration de projet correspondant au site. Une des méthodes suivantes peut être utilisée :
    • sélectionnez l'option "Description" du menu contextuel de la configuration de projet (dans l'explorateur de projet).
    • sélectionnez l'option "Projet .. Configurations de projet .. Description de la configuration courante".sous le volet "Projet", dans le groupe "Configuration de projet", cliquez sur "Configuration courante".
  3. Dans l'onglet "Compatibilité", cochez si nécessaire l'option "Activer les erreurs de compilation pour la compatibilité 64 bits".
  4. Validez.
Remarque : A partir de la version 16, les sites sont créés par défaut avec l'option 64 bits activée.

Mode de gestion des erreurs de compilation

Pour les sites, composants, bibliothèques et Webservices, par défaut, les erreurs 64 bits sont toujours activées.

Erreurs de compilation spécifiques au 64 bits

Si l’application "32 bits" utilisait des API Windows ou des dll externes, le passage en mode "64 bits" peut générer des erreurs de compilation. Ces erreurs de compilation sont bien entendu spécifiques au mode "64 bits".
L’erreur la plus courante est l’utilisation d’une variable de type "entier" pour stocker une adresse mémoire. En effet, les adresses mémoires en 64 bits sont stockées sur 8 octets alors qu'en 32 bits, elles sont stockées sur 4 octets. Dans ce cas, si un entier "classique" est utilisé, l’application risque d’accéder à une adresse mémoire tronquée donc erronée.
Pour éviter ce problème, il suffit d’utiliser le type Entier Système du WLangage : ce type utilise un entier sur 8 octets en 64 bits et un entier sur 4 en 32 bits !
Conseils :
  • Pensez à vérifier que les API utilisées existent bien en version "64 bits". Pensez également à vérifier que la dll n’a pas un nom différent dans sa version "64 bits", et surtout que son fonctionnement est identique.
    En cas de différences, il est possible d'utiliser la fonction WLangage EnMode64bits pour appeler l'API correspondant au système en cours.
  • En 64 bits, si une valeur trop grande est affectée dans une variable de type Entier sur 1, 2, 4 ou 8 octets, la valeur de la variable ne sera pas la même qu'en 32 bits.

Déployer un site compatible 64 bits

Le déploiement d'un site compatible 64 bits se fait de la même façon que pour un site 32 bits, grâce à l'option "Atelier .. Créer la procédure d'installation". Pour plus de détails, consultez Déployer un site WEBDEV. Le déploiement d'un site compatible 64 bits se fait de la même façon que pour un site 32 bits : sous le volet "Projet", dans le groupe "Génération", déroulez "Déployer le site". Pour plus de détails, consultez Déployer un site WEBDEV.
Remarque : Un site compilé en 64 bits peut être utilisé avec un serveur 32 bits ou 64 bits. Un serveur 64 bits ne peut afficher que des sites 64 bits. Si le site n'a pas été compilé avec l'option "64 bits", une erreur s'affichera au lancement du site.
Limites

Limites diverses

  • La fonction Hasp n'est pas disponible en 64 bits.
  • Fonctions Netxxx : Seule la partie cliente est disponible en 64 bits, et est compatible avec un serveur 32 bits. La partie serveur (fonctions NetDémarreServeur et NetFinServeur) n'est pas disponible.
  • Langage externe 64 bits : seuls les langages C et C++ sont disponibles.

Base de registre et fichiers système

  • Base de registre : Sur un système 64 bits, les applications 32 bits écrivent dans la base de registre à partir de la branche suivante : HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
  • Accès aux fichiers système : Sur un système 64 bits, les applications 32 bits utilisent des répertoires système différents.
    Par exemple, un accès au répertoire "\Windows\system32\" se fera bien dans ce dossier à partir d'un exécutable 64 bits.
    Par contre, depuis un exécutable 32 bits, l'accès se fera dans le dossier "\Windows\SysWOW64".
Version minimum requise
  • Version 11
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire