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 :

Comportement curieux - Aide HTMML et touche F1 [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Par défaut Comportement curieux - Aide HTMML et touche F1
    Bonjour,

    J'ai développé un programme (Lazarus 4.4.2 - W7) qui fonctionne correctement et qui dispose de 3feuilles (form1 - form2 - form3). J'ai aussi construit une aide HTML qui est censée s'ouvrir par un appui sur la touche F1. Pour ce faire :

    J'ai déposé dans chacune des feuilles un contrôle THTMLHelpDatabase ( Nom pour la feuille 1 : HTMLDB_AidL ) et un contrôle THTMLBrowserViewer (nom pour la feuille 1 : HTMLBr_Aide) que j'ai paramétrés correctement pour AutoRegister (True) et KeyWordPrefix (Choix Htmlm/).
    J'ai aussi renseigné convenablement les propriétés de la feuille 1 pour ce qui est de HelpType et HelpKeyword.
    J'ai placé l'ensemble des répertoires et fichiers de l'aide HTML dans un répertoire que j'ai appelé DocHTML
    Le problème est le suivant :
    J'ai dans le code de chaque feuille mis une instruction d'accès au chemin de l'aide par pour la feuille 1 sur la procédure création de la feuille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TF_Lanc.Dir_CreeOuvreEnter(Sender: TObject);
    begin
      Try
      HTMLDB_aidl.BaseURL:= 'file://' + ExtractFilePath(Application.ExeName) + 'DocHtml\' ;
     Except
      ShowMessage ('Désolé, l''aide n''est pas disponible pour cette feuille à l''ouverture du pgm !') ;
     end;
    end;
    J'ai reconduit ce m^me ensemble d'instructions pour une prodédure Form.Activate
    Pour les feuilles 2 et 3 j'ai mis simplement l'instruction d'accès
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TF_Lanc.Dir_CreeOuvreEnter(Sender: TObject);
    begin
     
      HTMLDB_aide.BaseURL:= 'file://' + ExtractFilePath(Application.ExeName) + 'DocHtml\' ;
     
    end;
    Sur la procédure d'activation de la feuille
    Lorsque je lance le programme, si j'appuie sur F1 pour la feuille qui s'ouvre au lancement ( les deux autres étant masquée) j'ai en retour une erreur qui me signale que l'aide existe mais que l'ouverture est impossible.
    En fait c'est le chemin de l'aide qui est erroné dans le message et la référence n'est pas faite au bon THTMLHelpDatabase (***_Aide au lieu de ***_AidL).
    Le message signale : The HelpDatabase "HTMLDB_Aide was unable to find file "D:/Ap_Lazarus/Gene_AD/Introduction.html" alors que l'aide est située dans le répertoire D:/Ap_Lazarus/Gene_AD/DocHtml comme le demande la commande d'accès à l'aide dans la procédure formCreate .
    On y remarque que l'aide est recherchée dans le répertoire où se trouve l'exe de l'application et non pas dans son sous-répertoire DocHtml et que la référence est faite à une THTMLHelpDatabase qui n'est pas encore activée !!??

    Le meilleur ou le plus bizarre est que si je passe à la feuille 2 (en faisant fonctionner le programme) et que j'appelle l'aide HTML cela fonctionne bien et idem pour la feuille 3. Mais La cerise sur la gâteau est que, si je reviens à la feuille 1 (un bouton me permet cela dans le progrrame et que j'actionne la touche F l'aide s'affiche sans aucun Problème !!!!!

    Comment mettre fin à ce casse-tête, tout en gardant , si possible, l'aide dans un sous-répertoire de celui qui contient l'exe de l'application, ne serait-ce que par élégance.

    Merci


    Cordialement

    RO

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Par défaut Suite Aide HTMl - comportement bizarre
    Bonjour,

    en relisant mon message après avoir créé la discussion je me suis aperçu que j'ai fait un "copié-collé" d'une procédure qui n'est pas la bonne. C'est bien dans un FormActivate que j'ai placé l'instruction définissant le chemin de l'aide pour les feuilles 2 et 3 et cela fonctionne bien. (J'ai fait plusieurs essais pour tenter de résoudre le mystère que j'expose ).
    Cordialement

    RO

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Par défaut Toujours la suite de mon Problème.
    Je m'interroge s'il n'existerait pas une manière de définir le chemin de l'aide une bonne fois pour toutes par une instruction du type Application. ???????? à placer dans la feuille lpr du projet ais comment faire ?

    Cordialement

    R.O.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Par défaut Une solution - comportement Bizarre aide HTML et F1
    Bonjour,,
    J'ai fini par trouver une solution à mon problème en :
    enlevant à la (les) procédure(s) .Oncreate et on Activate la référence au chemin complet de l'aide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HTMLDB_aide.BaseURL:=  'file://' + ExtractFilePath(Application.ExeName) + '/docHtml' ;
    devient simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ]HTMLDB_aide.BaseURL:=  'file://' + ExtractFilePath(Application.ExeName) ;
    et en modifiant les propriétés de chacune des feuilles : HelpKeyWord qui devient Html/DocHtml/Introduction.html au lieu de simplement Html/Introduction.Html.
    Il semble donc que la fonction renvoyée par la touche F1 ignore quelle est la feuille visible lorsqu'on la sollicite.
    A approfondir mais problème résolu.

    Cordialement

    RO

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

Discussions similaires

  1. Parcourir un formulaire à l'aide de la touche entrée ?
    Par zell45 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 19/04/2007, 16h54
  2. [Cookies] Mes cookies ont un comportement curieux
    Par Jinx_ dans le forum Langage
    Réponses: 2
    Dernier message: 16/03/2007, 16h11
  3. [Rewrite .htaccess] Comportement curieux aussi
    Par Bensor dans le forum Apache
    Réponses: 2
    Dernier message: 23/12/2006, 13h22
  4. comportement curieux font-bold sous ffx ?
    Par SpaceFrog dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 22/06/2006, 11h51
  5. Réponses: 3
    Dernier message: 09/06/2005, 17h19

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