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

Delphi Discussion :

Affichage de mon Aide(*.chm) s'affiche correctement avec en plus une Recherche sur IE ouEdge


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut Affichage de mon Aide(*.chm) s'affiche correctement avec en plus une Recherche sur IE ouEdge
    Bonjour à tous…

    Je suis sous Delphi 10.2.3, mon projet terminé je lui ai adjoint un fichier
    d'aide classique (*.chm).
    A la touche F1 ou Ctrl+F1 via OnKeyDown mon aide apparaît correctement mais
    aussitôt une autre fenêtre IE ou Microsoft Edge se lance avec pour
    URL:https://www.bing.com/search?q=commen...22&form=S00028

    Comment puis-je bloquer cette recherche supplémentaire de Windows 10.. Je sèche..
    Code d'appel pour appeler l'aide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    procedure TForm_Menu.FormCreate(Sender: TObject);
     Var i:Integer;Image:TBitmap;
    Begin
        Application.HelpFile := ExtractFilePath(Application.ExeName) +'GestFact 2018.chm';
    ….
    End;
     
    procedure TForm_Menu.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
    begin
      if (Key=91) Or (Key=113) then 
        HtmlHelp(Application.Handle,PChar(Application.HelpFile),HH_DISPLAY_TOPIC, 0);
    end;
    D'avance à tous Merci..

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Cela persiste-t-il en annulant la touche pour éviter tout autre traitement ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm_Menu.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
    begin
      if (Key=91) Or (Key=113) then 
      begin
        Key := 0;
        HtmlHelp(Application.Handle,PChar(Application.HelpFile),HH_DISPLAY_TOPIC, 0);
      end;
    end;
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut Merci ..
    Ca ne fonctionne pas malgré l'annulation de la touche via Key:=0;

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut Precision..
    Lorsque je me déconnecte d'Internet (Wifi), pas de souci
    F1 et CTRL F1 sont opérationnels… Mais connecté à IE Ou
    Microsoft Edge le problème… La touche F1 est effectuée
    avec en plus une recherche sur Bing ou autre de l'aide Windows !

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Je ne comprends pas bien les constantes clavier testées. Si j'en crois https://docs.microsoft.com/en-us/win...tual-key-codes et http://docs.embarcadero.com/products...hiftState.html, dans un OnKeyDown, on chercherait plutôt à savoir si c'est VK_F1 (112) et si CTRL pressé en même temps : if ssCtrl in TShiftState then ...
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut code touches
    Mes constantes (Key=91) et (Key=113) correspondent
    aux touches F1 et CTR+F1 testées via le programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm_Menu.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
    begin
      ShowMessage(Key.tostring);
    end;

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 011
    Points : 2 078
    Points
    2 078
    Par défaut Appel aide
    Bonjour (Bonsoir),

    Et avec ce petit prog vite fait tu as le même problème ?
    A recompiler, j'ai supprimer l'exe car zip refusé (trop volumineux)

    AppelAideDelphiCommunity.zip

    Autres questions :
    ça se produit :
    quand tu lances ton prog depuis Delphi ?
    également quand tu lances to prog par double clic dans l'explorateur de fichier ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut Eh oui...
    Avec mon exécutable *.exe j'obtiens la même chose

    1 - Le fichier Chm s'affiche correctement… voir image1.jpg
    2 - Et aussitôt après IE affiche l'aide de Windows 10 via Bing.com (search par défaut).. voir image2.jpg

    C'est comme si la Touche F1 est assignée à l'aide de Windows 10 automatiquement..
    Ce qu'il faut faire via BDR trouver la clef qui inhibe cette fonction que je en connais.

    D'avance Merci...

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 011
    Points : 2 078
    Points
    2 078
    Par défaut
    Bonjour, tu dis
    Avec mon exécutable *.exe j'obtiens la même chose
    Est ce que tu peux confirmer que tu as voulu dire c'est que quand tu lances l'exe en dehors de Delphi tu as le même problème ?
    Essayes de répondre clairement aux questions posées sinon il sera difficile voire impossible de t'aider.

    Avant de chercher et modifier la BDR (base de registre), il serait bien, moins risqué et plus opportun de déterminer l'application, le processus, le service (appelles cela comme tu veux) qui provoque cela …

    Donc affiche le gestionnaire des taches et regardes les applications et processus actifs. Les applications normalement il y en a peu. Donc tu peux les arrêter pour voire si ça ca se produit toujours.

    Pour le processus et services comme il y en a beaucoup dont le rôle et l'intérêt n'est pas toujours évident, je te conseille plutôt d'aller dans le gestionnaire des taches onglet démarrage, de cliquer sur "Statut" pour que les processus actifs soient en haut de l'écran, de faire une copie d'écran (pour pouvoir remettre à l'état initial), et de temporairement désactiver tout ce qui est actif et de refaire un essai. Si ça supprime le problème il faudra réactiver tout ce que ru as désactivé un par un (ou 3 par etc) pour voire lequel est responsable. Ensuite en fonction de ce que tu auras trouvé ou pas on verra.
    Si ça ne change rien tu n'auras qu'à réactiver tout ce tu as désactivé (en t'aidant si besoin de ta copie d'écran).

    PS : Apres avoir désactivé dans l'onglet démarrage il faut arrêter puis redémarrer le PC avant de relancer ton programme.

  10. #10
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Bonsoir,

    Je reste étonné des valeurs de touches, mais ce n'est pas le propos...

    Je lis ici :
    Note: CallHelp must be set to FALSE to prevent Delphi from calling WinHelp
    L'appel au fichier d'aide est géré par une méthode affectée à Application.OnHelp ; c'est peut-être son appel qui déclenche la fenêtre IE ?
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  11. #11
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 011
    Points : 2 078
    Points
    2 078
    Par défaut
    Bonjour,

    Je lis ici :
    Note: CallHelp must be set to FALSE to prevent Delphi from calling WinHelp
    Sans doute mais :
    Paounet utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      HtmlHelp(Application.Handle,PChar(Application.HelpFile),HH_DISPLAY_TOPIC, 0);
    Dans l'exemple que j'ai posté avec l'appel de l'aide en "pur Delphi basique (pas de handle, pas de Pchar ..)", je n'ai jamais eu besoin de m'occuper de la valeur de CallHelp (true ou false)
    et je n'ai jamais constaté que d'autres chose que mon fichier .chm s'ouvraient...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     Application.HelpJump('HELPj_Introduction');
     Application.HelpCommand(HELP_FINDER, 0);
     Application.HelpFile := ExtractFilePath(Application.ExeName) +'appelAideDelphi.CHM';

  12. #12
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 033
    Points : 40 931
    Points
    40 931
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    je m'immisce dans cette conversation pour signaler qu'il existe une unité http://docwiki.embarcadero.com/Libra...HtmlHelpViewer qui pourrait être à utiliser (aucune idée de comment)
    En fait je suivais cette discussion sans être partie prenante car, à ma connaissance, il n'y a rien de semblable en FMX
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  13. #13
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 011
    Points : 2 078
    Points
    2 078
    Par défaut Appel aide
    Bonjour
    @sergioMaster
    il existe une unité … HTMLHelpViewer
    Tout a fait, c'est d'ailleurs celle utilisée dans le petit programme démo joint à mon message du 23/01/2019, 0H414.
    Dont voici le code pour ne pas avoir à télécharger le zip joint.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    unit Unit2;
    interface
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
      System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, HTMLHelpViewer, Vcl.StdCtrls;
     
    type
      TForm2 = class(TForm)
        Button1: TButton;
        Label1: TLabel;
        procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form2: TForm2;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm2.Button1Click(Sender: TObject);
    begin
       Application.HelpJump('HELPj_Introduction');
     
      // Appel du fichier de contenu
      //Application.HelpCommand(HELP_FINDER, 0);
    end;
     
    procedure TForm2.FormCreate(Sender: TObject);
    begin
      Application.HelpFile := ExtractFilePath(Application.ExeName) +'appelAideDelphi.CHM';
    end;
     
    procedure TForm2.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      { appel de l'aide }
      if (Key = VK_F1) then
      begin
        Application.HelpJump('HELPj_Introduction') ;
        Application.HelpShowTableOfContents;   ;
      end;
    end;
    end.
    Mais ce code n'a pas eu les faveurs de paounet…

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut Merci à tous pour votre Aide ...
    Oui dans mon exécutable hors Delphi j'ai le même problème…

    Concernant l'Unité HtmlHelpWiever elle est déjà dans mes Uses..

    je vais essayé le petit Prog donné.

    Merci à tous..

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut En fin de compte non résolu..
    J'ai adapté mon prog avec le code donné par gaby277
    Avec le Bouton d'Aide ça fonctionne correctement mon
    Aide s'affiche sans problème mais..
    avec la touche F1 (Vk_F1) seule l'Aide de Windows 10
    s'affiche et rien d'autre… Rageant NON !

    Dès lors j'ai récupéré Le Zip de communityAide, l'ai compilé
    et exécuté !
    1 - Le clic sur le bouton est fonctionnel comme avec mon prog
    2 - Mais F1 n'affiche pas l'Aide mis à part celle de Windows 10
    via Bing.. search etc. !! comme avec mon Prog

    J'utilise Windows 10 Home 1809 17763.292 la dernière mise a jour
    avec Delphi Community Tokyo 10.2.3

  16. #16
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 011
    Points : 2 078
    Points
    2 078
    Par défaut
    Bonjour,
    @Paounet

    L'appel de l'aide avec un bouton est un palliatif, mais bien sur peu satisfaisant, puisque le reflexe de l'utilisateur et la norme c'est F1.

    Pourrais tu (as-tu ?) essayer(é) ton exe sur un (ou 2) autre(s) PC (si possible différent(s) puisqu'en entreprise les PC peuvent être configurés à l'identique) il s'agit de savoir si c'est ton PC qui a une particularité ou ton prog (tu connais peut-être la réponse, moi pas).

    Si le problème F1 ne se produit que sur ton PC, je pense que tu pourrais essayer la solution que je t'ai proposée (désactiver temporairement ce qui est lancé au démarrage) c'est rapide et sans risque (l'idée c'est que c'est quand même plus probablement lié à un programme (au sens large) en tache de fond que du Windows pur) bien sur si ton prog provoque le même problème sur d'autres PC c'est inutile.

    Par rapport à ton idée initiale que c'est du à une clé de la BDR, peut-être mais c'est rechercher une aiguille dans une botte de foin et par ailleurs ça peut-être un raccourci clavier mémorisé d'un prog (au sens large) plus ou moins bien programmé, mémorisé dans un ini , XML etc...

    Pour la suite que tu jugeras utile.

  17. #17
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 033
    Points : 40 931
    Points
    40 931
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Question bête mais ?
    Sur mon pc (un HP) la touche [f1?] n'est pas vraiment celle que je veux obtenir, il faut faire fn+f1 sinon je tombe sur : devinez ? microsoft edge
    Serait-ce ce problème ? Il faudrait vérifier l'état de la touche (shiftsate) en plus
    i.e if (Key = VK_F1) AND ( Shift in [ssAlt]) thenBien sûr pour que je puisse développer avec Delphi j'ai changé le setup de mon PC tellement cela devenait c...t
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut Effectivement monn Pc..
    Merci a SergioMaster..

    Mon Pc est un HP portable laptop 15-bs0xx
    Effectivement j'ai pensé à FN+F1
    Mais alors comment rentre effectif la touche
    F1 comme sur tous les autres Pc..

    Bonne journée

  19. #19
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 033
    Points : 40 931
    Points
    40 931
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par Paounet Voir le message
    Mon Pc est un HP portable laptop 15-bs0xx
    Effectivement j'ai pensé à FN+F1
    Mais alors comment rentre effectif la touche
    F1 comme sur tous les autres Pc..
    Il faut rentrer dans le setup au démarrage du PC et changer une option
    BIOS Set-up > System Configurations > Action Keys Mode > Disable
    mais tester l'état de Shift dans le programme c'est bien aussi
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  20. #20
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 011
    Points : 2 078
    Points
    2 078
    Par défaut
    Bonsoir,

    à SergioMaster son pseudo n'est pas usurpé !

    Mon retour d'expérience et mea culpa : avant de penser à des causes compliquées, il faut d'abord éliminer les cause simples.. (enfin simples une fois qu'elles ont été trouvées).

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Mon menu ne s'affiche pas avec IE verson inférieure à 11
    Par beegees dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 06/12/2013, 16h03
  2. Mon report ne s'affiche pas avec Eclipse
    Par RaizZzo dans le forum Jasper
    Réponses: 1
    Dernier message: 09/07/2013, 16h09
  3. Mon report ne s'affiche pas avec Eclipse
    Par RaizZzo dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 26/06/2013, 18h22
  4. Afficher le résultat d'une recherche sur un formulaire
    Par cheikhoufia dans le forum NetBeans
    Réponses: 1
    Dernier message: 08/06/2011, 23h52
  5. mon champ ne s'affiche pas avec rave
    Par easydsl54 dans le forum Rave
    Réponses: 2
    Dernier message: 16/05/2011, 19h26

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