FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Aujourd'hui à 19:48

» KGF_dll - nouvelles versions
par pascal10000 Aujourd'hui à 17:27

» Mah-Jong européen new-look
par Minibug Hier à 22:31

» track_bar circulaire
par Klaus Hier à 13:54

» API Windows
par Klaus Hier à 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Wrapper autour de KGF.dll par procédures

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
AuteurMessage
Klaus

avatar

Nombre de messages : 10257
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 1:15

Voilà ce que ça donne chez moi:


Et chez les autres ? Avez-vous essayé ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 5 Oct 2012 - 1:25

J'ai essayé et çà fonctionne ... drunken
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10257
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 1:29

Merci, Ygeronimi. Et je ne sais pas du tout ce qui empêche le programme de marcher chez Papydall.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 5 Oct 2012 - 1:59

Je ne sais pas non plus,
si c'était un oubli d'insérer KGF_Sub.bas il aurait une erreur
dans l'appel de la procédure.

à moins que...mais non si c'était pas la bonne version ce serait
la même erreur puisque la fonction n'existerait pas.

j' avoue que je ne vois pas non plus, en plus je ne sais pas sous quelle
version de windows il est mais je ne crois pas que ce soit un problème de version
cela fonctionne chez toi sous XP.

A moins que ce soit un défaut de librairie de Delphi.
la fonction utilise une de ses librairie et papydall n'a pas installé Delphi...
( ce n'est qu'une supposition )

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 2:44

Juste pour dire que chez moi, ça ne foctionne pas non plus. Et pourtant je pense avoir fait ce qui était possible de faire. J'abandonne pour l'instant. C'était juste pour voir, mais l'utilité pour l'instant, j'en ai pas besoin.
Sad J'ai pas pris le bon post. J'était sur speak! désolé.
Revenir en haut Aller en bas
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 3:16

J’ai testé presque toutes les fonctions contenues dans Demo_KGF_SUB.bas et voici le résultat ( les fonctions non mentionnées ci-après sont OK) :

2 - RealRegistryKey ---- > tester ==== > message 1. ERROR
3 – Help ---- > tester ==== > il ne se passe rien
39 – IPCSendMessage ---- > tester ==== > il ne se passe rien
57 – LoadFileIntoPlayer(2) ---- > tester ==== > il ne se passe rien
58 – PlayPlayer(3) ---- > tester ==== > il ne se passe rien
59 – PausePlayer(4) ---- > tester ==== > il ne se passe rien
60 – StopPlayer(4) ---- > tester ==== > il ne se passe rien
134 – Speak ---- > tester ==== > message Prêt puis il ne se passe rien
147 – SetBrowser ---- > tester ==== > message FireFox est choisi
148 – AttachBrowserToWindow ---- > tester ==== > PLANTAGE DU SYSTEME
149 – LoadBrowserToWindow ---- >tester ==== > ouvre Internet Explorer
157 – LoadDLL ---- > tester ==== > message Not correct arithmetic expression. Line 2528
178 – SetSpeaker ---- > tester ---- > Activer le son ---- > Appliquer ==== > il ne se passe rien
==========================================================

@ygeronimi
Je suis sous XP ; j’ai DELPHI installé, j’ai bien inséré KGF_SUB.bas et j’ai la bonne version.
J’ai les voix de Pierre et de Veronique en plus de l’oncle SAM




Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 5 Oct 2012 - 5:08



As tu essayé de redémarrer ton ordi pour forcer une remise à zéro ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10257
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 10:51

Fonction 3 - Help: voici ce que ça donne:

à condition d'avoir KGF.hlp installé dans le même dossier

39 - IPCSendMEssage: voici ce que ça donne:


Pour toutes les fonctions ayant des chiffres entre parenthèses derrière leur nom: cela indique l'ordre dans lequel il faut les utiliser, puisqu'ils forment un groupe logique cohérent. Exemple: le player. Avant de pouvoir utiliser le player, il faut:
- commencer par 54 - CreatePlayer (1) ce qui place un player dans la form 0
- utiliser 55 MovePlayer (2) pour le placer à un endroit convenable de la form
- utiliser LoadFileIntoPlayer (2) pour charger une photo ou video dans le player
- utiliser PlayPlayer (3) pour afficher la photo ou jouer la video
- à partir de ce moment, on peut utiliser une des fonctions PausePlayer, StopPlayer, MutePlayer et VolumePlayer, toutes en (4), pour piloter le fonctionnement
- utiliser STopPlayer pour tout arrêter et supprimer le player de la form

157 - LoadDLL: il y avait effectivement une erreur: dans la ligne
Code:
  LoadDLL% = dll_call1("LoadDLL",adr(dll$$))
il y avait un $$ - un oublie d'édition. C'est corrigé.

Pour le reste, mystère. As-tu Firefox ? Ou utilises-tu Internet Explorer ? La fonction AttachBrowserToWindow prend le browser actif (celui qui est en cours) et le place à l'intérieur de la form 0. Si le browser actif est Internet Explorer, ce sera lui. la fonction LoadBrowserToWindow agit de façon similaire, mais elle démarre un nouveau browser qu'elle charge ensuite dans la form 0. Tout cela agit sur le browser par défaut défini pour l'utilisateur. La fonction SetBrowser sert à agir sur un browser autre ce le browser par défaut, par exemple sur Firefox si Internet Explorer est le browser par défaut. Mais pour qu'elle marche, il faut donner le chemin d'accès correct au browser. Cela est visible dans demo_KGF_SUB.bas:
Code:
    case 147
      s$ = "C:\Program Files\Mozilla Firefox\Firefox.exe"
      s$ = "C:\Program Files\Internet Explorer\iexplore.exe"
      SetBrowser("Firefox",s$)
'      SetBrowser("IExplore ",s$)
      message "Firefox est choisi"
'      message "Internet Explorer est choisi"
D'ailleurs, vérifie chez toi: je crois avoir oublié d'enlever l'apostrophe devant la ligne 1245 de demo_SUB_KGF.bas pour activer Firefox. C'est corrigé sur MyDrive, mais il suffit que tu enlèves l'apostrophe chez toi. En réalité, me message venait bien, mais le chemin d'accès n'était pas chargé, d'où le plantage...

Merci d'avoir testé. Cela m'aide à avancer. J'espère que les informations ci-dessus aideront à mieux prendre l'outil en main.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 13:22

klaus a écrit:
Pour ceux qui ont une difficulté avec le mot anglais "wrapper": cela signifie "enveloppe". C'est une couche écrite en Panoramic pur qui s'intercale entre le programme application et la DLL, cachant ainsi les appels à dll_callx de Panoramic et offrant une interface plus intuitive.
J'avais pas vu ta réponse. Depuis je me suis réveillé, et je me rappèle maintenant qu'avant de faire de l'informatique, dans les années 80, j'avais une sorte de stylo pour faire du wrappage avec une bobine de fil émaillé, pour faire des petits montages électroniques.
Revenir en haut Aller en bas
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 5 Oct 2012 - 13:39

@ papydall & Klaus,

Je n'ai pas testé toutes les fonctions aussi consciencieusement
que papydall mais seulement quelques unes que j' utilise régulièrement.
Comme je ne voudrai pas avoir dit une bêtise alors que pas toutes
fonctions fonctionnent, je vais reprendre les tests un par un.

Je pense vous donnez mes conclusions d'ici ce soir car aujourd'hui, c'est le "frigo day" ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10257
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 13:47

Ouaouuuuuh ! J'espère que tu seras plus indulgent avec moi qu'avec tes poules ! (sans mauvais jeu de mots...)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 5 Oct 2012 - 15:32

Bon ! j'en suis au 27 et la seule "fatal error" Laughing
est au No 20 et pour cause le dossier "Documents and Settings" n'existe pas chez W7
Edit 1 : 27 & 30 "erreur de sequence"
Edit 2 : 40 & 41 ....j'attends encore que le curseur arrête de tourner en rond...

Une fois le player tué je suis obligé de relancé démo.....pour le faire réapparaitre.... bref je fais une pause....j'en suis au player... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10257
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 16:02

Pour le 20:
remplace dans
Code:
    case 20
      FolderSelect("C:\Documents and settings\",0)
le dossier par "C:\" ou le dossier de ton choix

piur 27 et 30:
même remarque que pour Papydall:
fais dans l'ordre:
28 - 30 - 27 - 29.
Regarde les noms des fonctions - tu comprendras. le 27 déclenche un évènement comme si 'lon avait fait un clic gauche sur le mémo.

pour 40:
il devrair afficher 2 messages successifs:
1. demo_KGF_SUB est actif
2. demo KGF_SUB n'est pas actif
Compare avec la caption de la form 0...

pour 41:
il tente de lancer Not'epad et la Calculette Windows.
J'ai mis les chemins d'accès suivants:
Code:
    1:    ShellExecute(0, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL) ;
    2:    ShellExecute(0, 'open', 'c:\Windows\System32\Calc.exe', nil, nil, SW_SHOWNORMAL) ;
Si tu as d'autres chemins, donne-moi ta version Windows et les chemins corrects chez toi. Je les mettrai dans KGF.dll et ça marchera.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 16:41

Merci Klaus

Je verrais tout ça ce soir.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 5 Oct 2012 - 19:39

@ Klaus,
40
Les chemins sont les mêmes pour Note Pad et Calc chez W7
Je pense...mais je ne suis pas sûr....que il essaye de réduire avant d'avoir finit d'ouvrir
et donc provoque le curseur qui tourne en rond
un simple display dans KGF_Sub.bas entre les deux fonctions devrait arranger l'histoire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10257
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 19:56

Veux-tu faire l'essai stp ? car chez moi, pas de problème ! Ceci dit, la fonction 40 teste si le programme demo_KGF_sub est actif. Notepad et Calculette sont chargées par la fonction 41, dans demi_KGF_SUB:
Code:
    case 41
      LoadProgramMinimized(1,handle(0))
      message "Le handle du NotePad est "+str$(LoadProgramMinimized%)
      LoadProgramMinimized(2,handle(0))
      message "Le handle de la calculette est "+str$(LoadProgramMinimized%)
    case 42
Tu peux insérer un DISPLAY devant les deux commande MESSAGE", mais à mon avis, cela ne changera rien, car DISPLAY fait une attente tant que les affichages causées par Panoramic ne sont pas terminées. Or, dans notre cas, ce n'est pas Panoramic qui gère cela. L'attente du démarrage du notepad ou de la calculette est déjà faite dans la DLL. As-tu regardé si tu aperçois deux petites fenêtres réduites en bas de la form 0 ? cela a l'aspect suivant:

Et pour chacun de ces programmes, un message affiche le handle.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 5 Oct 2012 - 20:12

@ Klaus,

La réduction de notepad ce fait bien mais il se met à pédaler dans la semoule pour réduire calc
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10257
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 20:20

Alors, c'est un problème lié à la caption de la fenêtre de la calculatrice. Peux-tu me dire quel est le titre le la fenêtre de la calculatrice chez toi ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 5 Oct 2012 - 20:27

Le titre de la fenêtre de la calculatrice est : "Calculatrice"
Maintenant je remarque que :

apparition (ouverture) de note pad
réduction de note pad
fenêtre de panoramic "demo...." est au premier plan
apparition (ouverture) de Calc
la fenêtre de panoramic " demo..." reste au premier plan
le curseur se met à tourner en rond ( ce qui correspond au sablier sous XP)

je pense que la fonction prend le handle de la fenêtre Panoramic " demo..." alors que c'est Calc qui est visé
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10257
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 20:50

Le source de la fonction LoadProgramMinimized est celui-ci:
Code:
function LoadProgramMinimized(xcode:integer; hnd:HWND): integer; stdcall; export;
{
    xcode:    1=Notepad
              2=Calc

}
var
    hnd1, hnd2: Hwnd;
begin
    case xcode of
    1:    ShellExecute(0, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL) ;
    2:    ShellExecute(0, 'open', 'c:\Windows\System32\Calc.exe', nil, nil, SW_SHOWNORMAL) ;
    end;
    hnd1 := hnd;
    hnd2 := 0;
    repeat
        case xcode of
        1:    hnd2 := FindWindow('Notepad',nil);
        2:    hnd2 := FindWindow('SciCalc','Calculatrice');
        else
            result := 0;
            exit;
        end;
    until hnd2<>0;
    XSetParent(hnd2,hnd1);
    ShowWindow(hnd2,SW_MINIMIZE);
    result := hnd2;        { retourner le handle du process qu'on vient de lancer }
end;

Tu vois que Calculatrice et Notepad sont gérés de façon absolument identique. Peu importe si la fenêtre esn en avant-plan ou non - dès qu'elle existe, la fonction FindWindow (un API MicroSoft) renvoie son handle et je reconnais sa présence.

Peux_tu poster une capture d'écran globale (par la touche "Impécr Syst" sans ctrl, alt ni shift) pour que je me rende compte de ce qui se passe ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 5 Oct 2012 - 21:02



Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10257
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 21:50

OK. Merci de ton effort. Pourrais-tu télécharger KGF.dll à nouveau et réessayer ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 5 Oct 2012 - 21:59

J' ai cette version :


Je vais re télécharger
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 5 Oct 2012 - 22:13


Problème résolu sur 41 chez W7

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10257
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 22:22

YESSSSSSSSSS ! Merci pour ton aide ! C'est comme ça qu'on avance.

Tu veux savoir d'où venait le problème ? Alors regarde la version actuelle du code de la fonction:
Code:
function LoadProgramMinimized(xcode:integer; hnd:HWND): integer; stdcall; export;
{
    xcode:    1=Notepad
              2=Calc

}
var
    hnd1, hnd2: Hwnd;
begin
    case xcode of
    1:    ShellExecute(0, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL) ;
    2:    ShellExecute(0, 'open', 'c:\Windows\System32\Calc.exe', nil, nil, SW_SHOWNORMAL) ;
    end;
    hnd1 := hnd;
    hnd2 := 0;
    repeat
        case xcode of
        1:    hnd2 := FindWindow('Notepad',nil);
        2:    hnd2 := FindWindow(nil,'Calculatrice');
        else
            result := 0;
            exit;
        end;
    until hnd2<>0;
    XSetParent(hnd2,hnd1);
    ShowWindow(hnd2,SW_MINIMIZE);
    result := hnd2;        { retourner le handle du process qu'on vient de lancer }
end;

Tu peux constater que pour la calculatrice, la mention Scicalc a disparu au profit de nil (ce qui signifie "rien". Scicalc était censé être le nom générique de la fenêtre de type calculatrice. Apparemment, sous W7, ce nom a changé. En l'enlevant, cela marche. Tant mieux.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé




MessageSujet: Re: Wrapper autour de KGF.dll par procédures   

Revenir en haut Aller en bas
 
Wrapper autour de KGF.dll par procédures
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 5Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
 Sujets similaires
-
» Problème avec ADR() et procédures
» Procédure à suivre avant de poster
» Quelques "sujets" autour de notre petit monde...info..intox...etc.(mettez ce que vous voulez!)
» Cadre autour de votre page (ou forum)
» [CLIP]Autour de la Memoire - Tcheky Karyo

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: