PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Présentation
  • Comment le faire ?
  • Afficher les erreurs
  • Créer l'exécutable
  • Installer un site WEBDEV sur un serveur 64 bits
  • Attention
  • Comment le faire ?
  • Passer en 64 bits
  • Mode de gestion des erreurs de compilation
  • Erreurs de compilation spécifiques au 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 applications 32 bits :
  • Les applications WINDEV 32 bits fonctionnent sur un système d’exploitation 64 bits sans aucune modification : exécuta­ble, installation, ...
  • Lorsque des applications 32 bits s’exécutent sur un système 64 bits, elles sont indiquées dans le gestionnaire de tâches comme telles. Ces applications ne sont ni perturbées ni exécutées dans un mode de compatibilité : elles sont simplement soumises aux contraintes mémoires des applications 32 bits. Cette limitation mémoire n’est pas une contrainte pour la plupart des applications classiques.
Comment le faire ?

Afficher les erreurs

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.
WINDEVWindows

Créer l'exécutable

Pour créer un exécutable en mode 64 bits :
  1. Sélectionnez l'option de menu "Atelier .. Exécutable .. Créer l'exécutable Windows (64 bits)".
  2. Suivez les différentes étapes de l'assistant de création d'exécutable.
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 applications 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 ?

Passer en 64 bits

Dans le cas d'une application nécessitant beaucoup de mémoire, pour préparer l'avenir ou utiliser des dlls spécifiquement en 64 bits, il est cependant possible de passer simplement une application WINDEV "32 bits" en une application WINDEV "64 bits".
Pour passer simplement une application WINDEV 32 bits en 64 bits :
  1. Ouvrez le projet WINDEV 32 bits sous l'éditeur.
  2. Créez une nouvelle configuration de projet (option "Projet .. Configurations de projet .. Nouvelle configuration"). L'assistant de création de configuration de projet se lance. Créez une nouvelle configuration de projet : sous le volet "Projet", dans le groupe "Configuration de projet", déroulez "Nouvelle configuration" et sélectionnez "Exécutable Windows .. 64 bits". L'assistant de création de configuration de projet se lance.
  3. Dans l'assistant :
    • Indiquez le nom de la configuration de projet. Choisissez un nom explicite car ce nom sera utilisé pour créer le répertoire de génération des fichiers concernés par la configuration de projet.
      Sélectionnez le type de la configuration de projet : "Exécutable Windows 64 bits".
    • Sélectionnez les éléments (fenêtres, requêtes, ...) de cette nouvelle configuration. Dans un cas classique, tous les éléments de l'application 32 bits doivent être sélectionnés.
    • Validez l'assistant.
  4. La configuration de projet est automatiquement créée. Si votre poste de développement est en 64 bits, il est possible de tester immédiatement l'application en mode 64 bits grâce à l'option "GO" 64 bits.
Pour plus de détails sur la création et la gestion des configurations de projet, consultez Configurations de projet.
Remarque : Créer une application uniquement 64 bits : Bien entendu, il est possible de définir qu’une application est une application "64 bits" dès la création du projet. Cependant cette solution est plus sensible car une application "64 bits" ne fonctionne pas sur un système "32 bits" mais unique­ment sur un système "64 bits".

Mode de gestion des erreurs de compilation

  • Pour les applications et services (Windows ou Linux) en 32 bits, les erreurs de compilation 64 bits sont désactivées.
  • Pour les applications et services (Windows ou Linux) en 64 bits, les erreurs de compilation 64 bits sont toujours activées.
  • Pour les 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" utilisaient 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.
Limites

Limites diverses

  • La librairie wdxxxce.dll d'accès à une application Mobile ne fonctionne pas en 64 bits.
  • 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
générer un exe en 32 bits
Pour moi c'est l'inverse, je cherche comment créer un exe en 32 bits ??
MARC CHERNET
18 aoû. 2017