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 :

Comment est définie la form initiale


Sujet :

Lazarus Pascal

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 66

    Informations forums :
    Inscription : Septembre 2009
    Messages : 68
    Points : 50
    Points
    50
    Par défaut Comment est définie la form initiale
    Bonjour,

    J'ai un projet migré depuis Delphi, dont la forme principale (Form1) s'affiche bien dans l'EDI, avec divers contrôles visuels et une procédure OnCreate redéfinie.

    Je compile et linke le projet sans erreur, mais la seule forme qui s'affiche à l'exécution est une forme qui est absolument vide et n'est manifestement pas la bonne.

    Le source du projet contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TForm2, Form2);
     { et c...pour les autres formes  }
      Application.Run;
    On ne passe pas dans la procédure OnCreate de la forme principale. Le premier CreateForm n'appelle que des procédures de la Lcl.

    Vous avez une idée de ce qui peut se passer ?

    Comment Lazarus sait-il quelle est la première forme à afficher. Est-ce la première créée ? Sous Delphi on peut le spécifier avec les options de projet, mais je ne vois pas cette option dans Lazarus.

    Merci pour vos suggestions !

  2. #2
    Membre expérimenté
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Points : 1 688
    Points
    1 688
    Par défaut
    Bonjour Martin,

    Projet / Options du projet --> Onglet Fiche

    Pour infos, il est déconseillé de créer toutes les fiches au démarrage, ca ne sert à rien et prend de la mémoire. Mieux vaut les ouvrir selon les besoins.

    @+

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 66

    Informations forums :
    Inscription : Septembre 2009
    Messages : 68
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    Je connais cet onglet, bien sûr !

    Si je me rappelle bien il y avait sous Delphi dans cet onglet un choix pour indiquer ou modifier la fiche principale. Cela permettait en fait seulement de remettre la création de la fiche souhaitée en premier dans le source du projet. Il a apparemment été supprimé et n'était sans doute pas indispensable.

    Toujours est-il que ce n'est pas la première fiche créée dans le source du projet qui s'ouvre à l'exécution dans mon projet migré. C'est pour ça que je me demandais si la fiche principale n'était pas définie ou enregistrée ailleurs que dans l'onglet que tu indiques et/ou le source du projet.

    Ou alors quel peut être le problème ?

    Cordialement,

    Martin

  4. #4
    Membre expérimenté
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Points : 1 688
    Points
    1 688
    Par défaut
    Ouais

    Vérifie que dans l'onglet fiche cité il n'ait qu'une fiche et la bonne pour voir.
    Ensuite, regarde dans le Lpr si tu n'as pas un "parasite" qui poserait soucis !
    Supprime TOUT les fichiers de compilation de ton projet car il y a un risque de corruption a ce niveau là.

    Et je n'avais pas vu que nous étions voisins

  5. #5
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 385
    Points : 223
    Points
    223
    Par défaut
    Bonjour,
    Je ne suis qu'un petit bricoleur sur Linux et Lazarus, mais voici une information peut-être utile.
    Dernièrement j'ai eu un problème en développant une petite application de gestion de données avec sqlite ou suite à une erreur inconnue pour moi à l'exécution j'avais l'affichage d'un fichier *.lrs, une langue étrangère pour moi. N'arrivant pas à m'en sortir j'ai sauvegardé mes fiches et recréé un nouveau projet (en ayant supprimé tous les fichiers autres que les forme et *.pas.
    Pour pouvoir utiliser mes fiches j'ai créer des fiches vides avec le même nom puis j'ai recopié celles sauvegardées en remplacement des nouvelles.
    Pas de problème sauf à l'exécution une fiche vide.
    Nouvelle manipulation ouverture de la fiche et sauvegarde sous depuis l'EDI et depuis tout est OK. Le contenu du *.pas était semble-t-il bien pris en compte mais pas la forme.
    Je ne peux pas expliquer pourquoi, mais si cela peut servir.
    A+

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 66

    Informations forums :
    Inscription : Septembre 2009
    Messages : 68
    Points : 50
    Points
    50
    Par défaut
    La réponse à ma question initiale est tout simplement que c'est la première form de la liste de gauche qui est la form initiale... Mais là n'était pas le problème.

    J'ai pu avancer en repartant d'une fiche vierge, en y copiant -collant tous les contrôles, puis en recopiant le source .pas, et enfin en redéfinissant chaque événement.

    Sur toutes les fiches du projet je dois faire cela, sinon elle est vierge à l'exécution : c'est fastidieux !

  7. #7
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 385
    Points : 223
    Points
    223
    Par défaut
    oui moi aussi j'ai du faire ma manip avec chaque form.

  8. #8
    Membre expérimenté
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Points : 1 688
    Points
    1 688
    Par défaut
    Salut les gars,

    Pouvez vous m'envoyer un exemple de projet avec vos fiches qui ne fonctionnent pas car la, je n'ai jamais rencontré ce problème

    @+
    chris

  9. #9
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 66

    Informations forums :
    Inscription : Septembre 2009
    Messages : 68
    Points : 50
    Points
    50
    Par défaut
    Bonsoir,

    Je n'ai pas de projet pour lequel tu aurais, Chris37, tous les composants nécessaires. Et on ne rencontre le problème que dans le cas d'une migration d'un projet existant.

    Mais je crois que j'ai une piste...

    Il faudrait ajouter manuellement dans le source d'origine Delphi :

    1) Dans la clause uses de l'interface,2) Avant le final :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    initialization
     {$I nomform.lrs}
    en respectant la casse dans le nom de fichier, car ici il n'y a pas de correction automatique ou suggérée.

    Dans ce cas, le fichier lfm est bien pris en compte à l'exécution, pas seulement à la conception.

    C'est vraiment dommage qu'il n'existe pas un tutoriel de migration qui précise ces modifications nécessaires, que je n'ai pas été capable de deviner tout de suite. Ou alors il est bien caché !

    A+
    Martinus

  10. #10
    Membre expérimenté
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Points : 1 688
    Points
    1 688
    Par défaut
    Bonjour Martin,

    Oui tu as raison, c'est dommage

    Comme je le dis et répète souvent, il y a deux Wiki a disposition pour Lazarus. Il suffit de prendre un peu de temps et d'écrire quelques lignes.

  11. #11
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 66

    Informations forums :
    Inscription : Septembre 2009
    Messages : 68
    Points : 50
    Points
    50
    Par défaut
    Chris,

    Je n'ai pas trouvé de Wiki sur la conversion. Il y a quelque chose ?

    Par la suite, je pourrai contribuer mais pas avant d'avoir réussi à convertir complètement et faire tourner un projet significatif.

    Pour l'instant, j'ai encore énormément de problèmes à résoudre et au moins une dizaine de jours de recherches (à raison d'un jour par semaine).

    A+

  12. #12
    Membre expérimenté
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Points : 1 688
    Points
    1 688
    Par défaut
    Hum oui en effet rien de particulier sur le wiki officiel et pas d'articles sur mon site. Les contributeurs se font rares

    Je te propose de faire un petit point quand tu auras fini afin de réaliser un article digne de ce nom

    De mon coté, je dois finir un gros projet au bureau et je n'avance pas sur le projet LZComponent non plus faute de temps

    Bon courage dans ta migration et passe de bonne fêtes de fin d'années
    Chris

Discussions similaires

  1. Comment est défini le dossier racine ?
    Par actaryus dans le forum Langage
    Réponses: 2
    Dernier message: 18/04/2008, 18h40
  2. [vb2003] Comment savoir si une form est ouvert
    Par Herlece dans le forum Windows Forms
    Réponses: 15
    Dernier message: 08/11/2006, 00h43
  3. Comment savoir si une form est ouverte (créé)?
    Par UnSofteuxAmateur dans le forum Delphi
    Réponses: 1
    Dernier message: 30/09/2006, 11h24
  4. Réponses: 28
    Dernier message: 29/07/2006, 16h04

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