IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Problème dans OSPrinters [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre actif
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Points : 290
    Points
    290
    Par défaut Problème dans OSPrinters
    Bonjour,

    Suite à la désinstallation de ma version 3 et installation de la dernière version Lazarus 3.2.2, le compilateur plante dans l'unité OSPrinters.pas du Paquet réinstallé Printer4Lazarus qui ne posait pas de problème avant.

    Le code erreur est : osprinters.pas (66,6): Error : cannot open include file winprinters_h.inc. J'ai vérifié, ce fichier existe bien, par contre ce qui peut poser problème, c'est qu'il se trouve dans un répertoire Win32. La portion de code dans l'unité osprinters:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     ...
    {$IFDEF MSWindows}
      {$IF DEFINED(LCLQt) OR DEFINED(LCLQt5) OR DEFINED(LCLQt6)}
        {$I qtprinters_h.inc}
      {$ELSE}
        { $I winprinters_h.inc}
      {$ENDIF}
    {$ENDIF}
     
    implementation
      ...
    En regardant le code, il y a des conditions LCLQt que je ne comprends pas, et donc je me pose la question sur ce que je dois faire:

    1. imposer le code win32 (je n'ai pas de répertoire win64) mais dans ce cas, comment changer les conditions de test dans osprinters.pas?
    2. importer le fichier winprinters_h.inc dans mon répertoire d'unité du projet qui devrait pouvoir être lu avec la clause { $I winprinters_h.inc} sous la partie implémentation?
    3. ???

    Qu'en pensez-vous?
    merci pour votre aide
    Je programme en Lazarus 3.2.2 sous windows 10 pro

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    Je vois que le problème a été signalé de multiples fois les années passées sur le forum anglais, donc ça n'est probablement pas lié à la nouvelle version de Lazarus.

    Apparemment dans cette discussion le problème semble avoir été identifié.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  3. #3
    Membre actif
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Points : 290
    Points
    290
    Par défaut
    Merci Roland,

    ça n'est peut-être pas du à la version de Lazarus, mais tout de même, ça devient une usine à Gaz car pour une simple adaptation d'une installation à 2 mois d'intervalle... Ces américains sont fous avec cette manie de faire des mises à jour qui mettent la pagaille, comme windows...
    Bon, c'est peut-être moi qui vieilli, regrettant la simplicité de Delphi. Même avec les débuts du pascal Objet, il y avait de la facilité à trouver des solutions... C'est vrai que la puissance de l'outil était inférieure, mais on avait des supports accessibles....

    Citation Envoyé par Roland Chastain Voir le message

    Apparemment dans cette discussion le problème semble avoir été identifié.
    Bon, je vais y passer encore des heures à chercher, merci pour le Lien.
    Je reviens vers vous plus tard pour vous dire ce qu'il en est. Du coup, je me mets à la place des débutants, c'est pas gagné! Je vais noter tout ça dans un document et en faire peut-être un petit tuto si je m'en sens capable pour vérifier un programme qui fonctionnait et qui ne fonctionne plus suite à une mise à jour.
    A+
    Je programme en Lazarus 3.2.2 sous windows 10 pro

  4. #4
    Membre actif
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Points : 290
    Points
    290
    Par défaut Ajout Sources d'Erreur du Wi-ki
    Recherche du problème

    Pour être utile à d'autres qui rencontreront peut-être ce type de problème, j'ai traduit une partie de la liste des points à vérifier donnés par le Wiki.lazarus :


    Voici les listes d’erreurs possibles sans chronologie des mises à jours et sans probabilité d’apparition :

    Installation du FPC :

     1. Vous avez nommé une de vos unités comme une des unités FPC.
    Wrong fpc.cfg. $HOME/.fpc.cfg au lieu de /etc/fpc.cfg. Voir avec -vut.
     2. Chemin de recherche manquant ou erroné dans fpc.cfg. Voir avec -vut.
    Ajout d’un chemin de recherche vers fpc.cfg qui contient des sources (.pas,.pp)
     3. Compilation croisée : J’ai oublié d’installer la compilation croisée FPC ppus. Découvrez-le avec -vut.
     4. Installation FPC corrompu. Supprimez le répertoire FPC manuellement et installez à nouveau.
     5. Le lien symbolique du compilateur pointe vers le mauvais compilateur.
    2 compilateurs dans searchpath, voir : installer sur Linux cheatsheet
     6. La variable d’environnement FPCDIR est définie
     7. Vous avez nommé l’un de vos fichiers d’inclusion comme l’un des fichiers d’inclusion FPC et votre installation FPC n’a pas été compilée avec -Ur.
     Problème spécifique des installations Ubuntu

    Installation Lazarus :

     1. Oublié d’ajouter une dépendance de paquet. Vérifiez l’inspecteur de projet ou l’éditeur de paquet.
     2. Un ppu existe deux fois. Vérifiez avec -vut. Supprimez le mauvais ppu. Vérifiez si un chemin d’unité d’utilisation de paquet est seulement $(PkgOutDir) et si le chemin d’inclusion d’utilisation est vide. Vérifiez si deux paquets ou un paquet et le projet contiennent le même
    chemin de recherche d’unité dans leurs options de compilation.
     3. Typo ou chemins de recherche manquants. Vérifier Project / Project Options / Compiler Options, pages Paths and Inherited et vérifier l’éditeur de source / menu contextuel / paramètres de fichier / informations d’unité / chemins d’unité.
     4. Mauvais cas. Si le nom de fichier de l’unité utilise des lettres majuscules et minuscules, toutes les sections utilisées doivent utiliser le cas correct. Avant 0.9.29, l’IDE ne recherchait pas les noms de fichiers 'in' en minuscules et en majuscules. Vérifiez que les noms de fichiers 'in' dans utilise des sections.
     5. Mauvaise unité : S’il y a deux unités avec le même nom dans le chemin de recherche, le compilateur peut utiliser le mauvais sans avertissement. L’EDI avertit normalement, sauf si désactivé dans Outils / Options / Environnement / Nommage / Action de fichier ambiguë.
     6. J’ai oublié d’installer les sources FPC et/ou de définir le chemin d’accès dans le répertoire Tools / Options / Environment / Files / FPC source.
     7. Utilisation de la mauvaise version des sources FPC
     8. Utiliser le mauvais compilateur. Vérifier le chemin d’accès des outils, des options, de l’environnement, des fichiers et du compilateur. Cliquez également sur « project options / Test » pour diagnostiquer cette condition.
     9. Utiliser le mauvais répertoire lazarus. Cocher le répertoire Tools / Options / Environment / Files / Lazarus.
     10. Ajout d’un chemin de recherche vers vos propres unités dans fpc.cfg au lieu de créer un package.
     11. Compilation croisée : Oubli de compilation croisée lcl, synedit pour la nouvelle plateforme. Celles-ci ne sont pas compilées automatiquement (elles le sont depuis la version 0.9.31).
     12. Mauvais paquet : vous avez un paquet (.lpk) deux fois sur votre disque et l’IDE utilise toujours l’ancien

    voilà, y'a plus qu'à...
    Je programme en Lazarus 3.2.2 sous windows 10 pro

  5. #5
    Membre actif
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Points : 290
    Points
    290
    Par défaut
    ça y est, j'ai trouvé l'erreur:

    Comme d'habitude, j'y suis allé avec intuition, je n'avais pas envie de prendre les items 1 à 1. Mais c'est bien d'avoir un cadre de recherche.

    Apparemment, mon erreur venait du fait que dans l'affolement, j'ai ajouté un chemin de recherche dans options projet à l'onglet "Chemins" et à l'item « Autres fichiers unités (-Fu) » dans lequel, il y avait le chemin d’un composant appartenant également au paquet Printer4Lazarus déjà présent.

    Il ne faut pas mettre à cet endroit un composant d’un paquet déjà chargé dans le projet (partie Paquet requis), j'avais déjà installé le paquet Printer4Lazarus.

    Bon, la question maintenant qui me vient à l'esprit est que je n'ai pas envie de me prendre la tête à chaque mise à jour : désinstallation, installation pour reparamétrer mes options de projets.
    Y a-il un moyen de sauvegarder ces paramètres même après désinstallation de la version précédente?

    Je vais une rédiger un petit tuto me servant de check liste que j'avais envie de mettre dans un dossier à part. Qu'en pensez-vous?

    Je mets quand même résolu

    A+
    Je programme en Lazarus 3.2.2 sous windows 10 pro

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Problme de variables dans requete
    Par eown dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/04/2006, 17h05
  2. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 13h39
  3. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2002, 15h17
  4. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44
  5. Documentation DirectX dans C++Builder 3
    Par srvremi dans le forum DirectX
    Réponses: 1
    Dernier message: 26/04/2002, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo