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
» Tout est tranquille
par Jean Claude Hier à 21:41

» Texte en gif animé
par JL35 Hier à 13:29

» BasicEditor
par Yannick Mer 20 Sep 2017 - 17:17

» Simuler l’appui d'une touche ou combinaison de touches.
par pascal10000 Lun 18 Sep 2017 - 19:30

» Utilisation de HVIEWER pour afficher des images
par papydall Lun 18 Sep 2017 - 17:43

» Panoramic et les gifs animés.
par papydall Lun 18 Sep 2017 - 16:32

» recover source
par pascal10000 Dim 17 Sep 2017 - 14:21

» Recent dans vos menu
par Jean Claude Sam 16 Sep 2017 - 11:41

» Comment centrer un texte 3D.
par pascal10000 Ven 15 Sep 2017 - 20:20

» Carte interface 16 entrées et 16 sorties
par Jicehel Ven 15 Sep 2017 - 16:30

» Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT
par pascal10000 Ven 15 Sep 2017 - 16:20

» Compilateur FBPano
par jean_debord Ven 15 Sep 2017 - 9:59

» 1 (en analyse): 3D_TARGET_IS ne fonctionne pas sur 3D_TEXT
par Jack Jeu 14 Sep 2017 - 19:52

» Problème avec la 3D.
par Jack Jeu 14 Sep 2017 - 18:06

» Test de la 3D.
par mindstorm Mer 13 Sep 2017 - 19:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 KGF_dll - nouvelles versions

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1 ... 21 ... 38, 39, 40
AuteurMessage
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 4:50

Nouvelle version:
KGF.dll V5.42 du 22/11/2015

Nouveautés:
- nouvelle fonction GetPrinterQueueInformation

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Cette nouvelle fonction retourne dans un mémo Panoramic la liste des tâches présentes dans la file d'attente des imprimantes, soit en version complète, soit en version restrainte. Il y aura une ligne par tâche, et chaque information est présentée sous forme de nom=valeur, séparées par des virgules. Ainsi, un exemple de retour en version restrainte est:
Citation :
JobStatus=Erreur | Impression en cours,Name=hp psc 1310 series,PagesPrinted=0,PrintStatus=Error,TotalPages=4,
On voit qu'on a l'identification de l'imprimante, on sait que l'impression est en erreur, qu'aucune page n'est actuellement complètement imprimée et qu'il y a 4 pages au total.

Voici le programme de démo:
Code:
' test_GetPrinterInformation.bas

label test0, test1

dim res%

width 0,screen_x
button 1 : caption 1,"Complet" : on_click 1,test0
button 2 : caption 2,"Réduit" : on_click 2,test1 : left 2,100
memo 3  : bar_both 3 : top 3,40 : full_space 3 : height 3,height(3)-40 : top 3,40


dll_on "KGF.dll"

end

test0:
  res% = dll_call2("GetPrinterQueueInformation",0,handle(3))
  return
test1:
  res% = dll_call2("GetPrinterQueueInformation",1,handle(3))
  return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 10:24

Merci pour ta réaction. Reste à pouvoir télécharger. Depuis 2 jours, après l'ouverture d'une page, la box plante. Je ne sais pas si ce sont les pluies diluviennes qu'il y a eux à ce moment là qui en est la cause.
Revenir en haut Aller en bas
Invité
Invité



MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 11:14

J'ai réussi à télécharger.
Je reçois une erreur dans les deux cas:
Exception EinOutError in module KGF.dll at 0023CB96. Avec ou sans GreendCloud Printer.

Il n'y a pas d'urgence. J'aurai surement du mal de regarder aujourd'hui.
Revenir en haut Aller en bas
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 11:51

Etonnant... Chez moi, je n'ai aucun problème. Serait-ce un problème de version de Windows ? Est-ce que quelqu'un d'autre pourrait essayer le petit programme de démo ci-dessus ? Pour cela, lancer le programme, puis lancer une édition et cliquer sur un des boutons "Complet" ou "Réduit". On doit obtenir des informations sur la file d'attente dans le mémo. Merci à tous les testeurs de bonne volonté...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 12:50

Bonjour a tous les deux !

J'ai pris la dernière version de KGF et lancé le prog ci-dessus.
J'ai ensuite tapé quelques caractères dans la fenêtre et appuyé sur les boutons Complet et Réduit.
Ai je bien fais le test ? En tous cas, je n'ai eu aucun message d'erreur ! Wink

Edit : Je viens je comprendre ! confused
J'ai lancé une impression et ensuite j'ai cliqué sur les boutons et j'ai bien eu des infos sur la file d'attente et aucune erreur ! drunken

@Klaus, concernant la multi-sélection des objets c'est une excellente idée.

Je suis du coup juste un peu déboussolé dans GPP sur la manière de gérer le menu objet.
Je vais repenser tout le système grâce a cette nouvelle approche mais le seul problème, c'est que je ne sais pas encore comment ? trop de questions se bousculent...
Je vais surement mettre en stand by quelques temps et réfléchir a tout cela !
As tu d'autres idées en tête sur l'évolution de ces commandes car si je savais je pourrais peut être anticipé ma manière de faire et de gérer le menu objet ?
Merci Klaus
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 13:22

J'ai eu 10 minutes pour tester. J'ai d'abord vérifié la version: 542 je crois d'aujourd'hui.
J'ai lancé une impression du source de l'éditeur Panoramic, puis le programme. J'ai toujours la même erreur.
Windows 7 Édition Familiale Premium. Eh oui, j'ai pas encore mis sous W10!
Revenir en haut Aller en bas
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 13:34

@Minibug:
Merci d'avoir testé. Rappelle-moi sous quelle version de Windows tu es ?

En ce qui concerne l'évolution du module désigner, je n'ai pas d'autres projets pour le moment. Je suis arrivé au bout de ce que j'imaginais de faire. Si, il y a bien encore quelque chose, mais ça ne remet pas en cause le concept général: lors de la multi-séléction, je vais limiter la sélection à des objets ayant le même parent. Et dès qu'on sélectionnera un objet avec un parent différent, je déselectionnerai automatiquement tout ce qui est sélectionné, et je prends le nouvel objet comme premier d'une nouvelle multi-sélection.

Dans mon petit programme de démo, j'affiche une fenêtre à droite montrant la liste des objets contenus dans la sélection. Tu as bien compris bien sûr que c'est pour la démo. L'objet LIST de cette fenêtre est chargé par DesignerFuunction code 3, et cette LIST peut très bien être cachée par HIDE ou placée en-dehors de la vue de l'écran. C'est juste pour avoir l'information - au programmeur de gérer le contenu ensuite.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 13:49

Je suis sous Win 7.32

Concernant la multi-sélection de designer, ton idée m'intéresse Klaus.

Par contre au lieu de garder un simple et un multi pourquoi ne pas garder seulement le multi.
Mais par contre faire en sorte que lorsqu'un objet cliqué qui est déjà sélectionné soit désélectionné. tu vois le principe... En fait il s'agit d'une sélection-désélection automatique des objets dans la DLL.

Comme cela tu fais d'une pierre deux coups, plus besoin des 2 fonctions puisque tout se gére depuis la LIST.
et comme tu dis après au programmeur de savoir ce qu'il veux en faire !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 13:53

Je vois. Par déaut, on serait en simple sélection, et on passerait en multi-sélection en enfonçant la touche Control... C'est certainement faisable.

@Cosmos70:
sur mon WebDav, j'ai mis une version spéciale de KGF.dll que j'ai nommée KGF_test.dll. Et j'ai adapté le programme de démo pour "piéger" l'élément perturbateur. Fais marcher cela, en utilisant le bouton "Complet", et dis-moi quel est le dernier élément affiché dans le mémo, au moment du plantage:
Code:
' test_GetPrinterInformation.bas

label test0, test1

dim res%, i%

width 0,screen_x
button 1 : caption 1,"Complet" : on_click 1,test0
button 2 : caption 2,"Réduit" : on_click 2,test1 : left 2,100
memo 3  : bar_both 3 : top 3,40 : full_space 3 : height 3,height(3)-40 : top 3,40


dll_on "KGF_test.dll"

end

test0:
  for i%=1 to 17
    res% = dll_call2("GetPrinterQueueInformation",i%,handle(3))
    display
    pause 1000
  next i%
  return

'  res% = dll_call2("GetPrinterQueueInformation",0,handle(3))
  return
test1:
  res% = dll_call2("GetPrinterQueueInformation",1,handle(3))
  return

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 14:11

J'étais plutôt dans l'idée suivante :

Code:
label click
dim res%, parent% ,  n%
button 1 : LEFT 1,50 : TOP 1,50 : CAPTION 1,"TEST" : on_click 1,click

dll_on "D:\BASIC\GPP\systeme\dll\KGF.dll"

end

click:
  parent% = object_parent(number_click)
  IF n%=0
      n%=1 : res%=dll_call3("RegisterObjectForDesigner",handle(parent%),object_internal(number_click),0)
  ELSE
      n%=0 : res% = dll_call0("UnregisterObjectFromDesigner")
  END_IF
return

Mais gérer par la DLL et le tout en multi sélection ! Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 14:53

Nouvelle version:
KGF.dll V5.43 du 22/11/2015

Nouveautés:
- module Designer: en mode multi-sélection, trois modifications importantes:
1. la touche Control est utilisée dans le sens habituel de Windows pour étendre la sélection: le nouvel objet sélectionné sera ajouté à la sélection existante si Control est enfoncé. Sinon, la sélection existante est annulée et le nouvel objet est sélectionné comme seul objet
2. si le nouvel objet a un parent différent des objets éventuellement déjà sélectionnés, alors la sélection actuelle est annulée et le nouvel objet est sélectionné comme seul objet.
3. nouveau code action 4 pour DesignerFunction. Code 4 est identique à code 1, mais passe en mode multi-sélection (simule Control enfoncé).

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Ceci permet, en mode multi-sélection, de travailler comme en mode "objet seul" sans enfoncer la touche Control, et passer en multi-sélection en gardant Control enfoncé pendant les clics. Ou alors choisir ce mode par programme en utilisant uniquement DesignerFunction, et d'abandonner RegisterObjectForDesigner. Le fonctionnement devient ainsi très intuitif !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 16:03

Klaus, au secours !

Regarde le court programme ci_dessous :

Code:
label click
dim res%, parent% , n% , s%

button 1 : LEFT 1,50 : TOP 1,50 : CAPTION 1,"TEST 1" : on_click 1,click
button 2 : LEFT 2,50 : TOP 2,100 : CAPTION 2,"TEST 2" : on_click 2,click
button 3 : LEFT 3,50 : TOP 3,150 : CAPTION 3,"TEST 3" : on_click 3,click

LIST 5 : LEFT 5,200 : TOP 5,50 : HEIGHT 5,200

dll_on "D:\BASIC\GPP\systeme\dll\KGF.dll"

end

click:
  parent% = object_parent(number_click)
  s%=0
  IF COUNT(5)<>0
    MESSAGE HANDLE(number_click)
     FOR n%=1 TO COUNT(5)
        IF HANDLE(number_click)=VAL(ITEM_READ$(5,n%)) THEN res% = dll_call4("DesignerFunction",2,handle(parent%),object_internal(number_click),0) : s%=1
     NEXT n%
  END_IF
  IF s%=0 THEN res% = dll_call4("DesignerFunction",4,handle(parent%),object_internal(number_click),0)
  res% = dll_call4("DesignerFunction",3,handle(5),0,0)
return

Pourquoi le handle des boutons ne corresponds pas au numeros du list ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 16:34

Parce que le contenu du mémo donne les valeurs de OBJECT_INTERNEL(N) des objets N sélectionnés, pas leur handle ! Regarde ceci:
Code:
label click
dim res%, parent% , n% , s%

button 1 : LEFT 1,50 : TOP 1,50 : CAPTION 1,"TEST 1" : on_click 1,click
button 2 : LEFT 2,50 : TOP 2,100 : CAPTION 2,"TEST 2" : on_click 2,click
button 3 : LEFT 3,50 : TOP 3,150 : CAPTION 3,"TEST 3" : on_click 3,click

LIST 5 : LEFT 5,200 : TOP 5,50 : HEIGHT 5,200

dll_on "KGF.dll"

end

click:
  parent% = object_parent(number_click)
  s%=0
  IF COUNT(5)<>0
    MESSAGE OBJECT_INTERNAL(number_click) : ' HANDLE(number_click)
    FOR n%=1 TO COUNT(5)
        IF HANDLE(number_click)=VAL(ITEM_READ$(5,n%)) THEN res% = dll_call4("DesignerFunction",2,handle(parent%),object_internal(number_click),0) : s%=1
    NEXT n%
  END_IF
  IF s%=0 THEN res% = dll_call4("DesignerFunction",4,handle(parent%),object_internal(number_click),0)
  res% = dll_call4("DesignerFunction",3,handle(5),0,0)
return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 16:42

D'accord, je n'avais pas relevé cette subtilité dans la DLL.
Mais quelle est la raison de ce choix Klaus ?

Pourquoi ne pas choisir le handle comme d'habitude. Est ce plus simple pour toi ou par limitation technique avec Panoramic ?

J'avoue que ça ne change rien pour moi, c'est juste par curiosité ! Smile
Merci Klaus, je teste de nouveau avec les bons paramètres.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 17:11

Pourquoi OBJECT_INTERNAL et non HANDLE ? Pour 2 raisons techniques, qui ont d'ailleursd été la raison pour laquelle j'avais demandé à Jack de réaliser cette fonction:

1. il y a des objets visuels dans Panoramic qui n'ont pas de handle. Eh oui, un PICTURE ou un ALPHA, par exemple, ne sont pas des contrôles "fenêtrés", mais de simples objets graphiques dont l'affichage doit être assuré par leur parent et non par Windows directement. Et en particulier, comme il n'y a pas de handle, on ne peut pas faire SEND_MESSAGE vers un tel objet.

2. la fonction OBJECT_INTERNAL(), comme HANDLE(), retourne une valeur 32 bits. Mais dans ce cas, il s'agit d'un pointeur vers une définition de l'objet, dont ne handle (si existant) n'est qu'une des multiples proprités. Par contre, cela donne accès directement à certaines propriétés dont j'ai besoin pour le designer: top, left, width, height par exemple. En Delphi, cela se programme comme suit:
Code:
function MaFonction(obj: TControl):integer; stdcall; export;
var
  xtop, xleft, xwidth, ywidth: integer;
begin
  xtop := obj.top;
  xleft := obj.Left;
  ...
  obj.Top := ...
  ...
  result := 0;
end;
On peut même connaître le type de l'objet par obj.ClassName ce qui retourne une chaîne de caractères du type TButton, TMemo, TLabel (c'est un ALPHA) etc.

Si je n'avais pas OBJECT_INTERNAL, je n'aurais jamais pu faire le designer pour tous les objets visuels.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 17:25

Je comprends mieux ! Wink

Dis moi, crois tu qu'il soit possible d'ajouter a ta DLL la désélection d'un objet déjà séléctionné ?
En gros lors d'un clic, ça sélectionne l'objet, puis lors d'un autre clic ça désélectionne l'objet, etc...
Tous ça dans le mode multi-sélection bien sûr ! drunken

C'est ce que j'essaie de mettre en oeuvre mais cela ne fonctionne pas comme je le souhaite.
Il y a parfois des blocages sur les objets sélectionnés. Je ne sais pas pourquoi ? Suspect

Voici le code :

Code:
label click
dim res%, parent% , n% , s%
button 1 : LEFT 1,50 : TOP 1,50 : CAPTION 1,"TEST 1" : on_click 1,click
button 2 : LEFT 2,50 : TOP 2,100 : CAPTION 2,"TEST 2" : on_click 2,click
button 3 : LEFT 3,50 : TOP 3,150 : CAPTION 3,"TEST 3" : on_click 3,click

LIST 5 : LEFT 5,200 : TOP 5,50 : HEIGHT 5,200

dll_on "D:\BASIC\GPP\systeme\dll\KGF.dll"

end

click:
  parent% = object_parent(number_click)
  s%=0
  IF COUNT(5)>0
    FOR n%=1 TO COUNT(5)
        IF object_internal(number_click)=VAL(ITEM_READ$(5,n%))
          res%=dll_call4("DesignerFunction",2,handle(parent%),object_internal(number_click),0)
          s%=1 : EXIT_FOR
        END_IF
    NEXT n%
  ELSE
    res%=dll_call0("UnregisterObjectFromDesigner")
  END_IF
  IF s%=0 THEN res% = dll_call4("DesignerFunction",4,handle(parent%),object_internal(number_click),0)
  res%=dll_call4("DesignerFunction",3,handle(5),0,0)
return

-------

http://panoramic.free-boards.net/viewtopic.forum?t=4619
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: KGF_dll - nouvelles versions   

Revenir en haut Aller en bas
 
KGF_dll - nouvelles versions
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 40 sur 40Aller à la page : Précédent  1 ... 21 ... 38, 39, 40
 Sujets similaires
-
» Nouvelles versions éditeur et firmware FR3X
» Nouvelles versions de TC et TP
» Nouvelles versions de TypViewer 4.015 et suivantes
» Deux nouvelles versions de la Porsche 911 (type 991)
» Dacia : La Success Story Continue Avec Quatre Nouvelles Versions Et Séries Limitées

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: