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
» Reprise du développement et de la documentation
par Jean Claude Aujourd'hui à 11:44

» Une copie de Panoramic Editeur
par Jean Claude Hier à 21:03

» Objet 3D_PLANE, réalisation d'un dé en 3D
par Marc Hier à 0:33

» Cacher la barre des tâches
par Klaus Lun 21 Mai 2018 - 21:27

» Une "base de connaissance" - pour jouer ou plus si affinité
par Minibug Lun 21 Mai 2018 - 10:29

» quel est ce comportement de Panoramic_editor
par Oscaribout Lun 21 Mai 2018 - 0:22

» Des FORM(s) Colorés
par Jean Claude Dim 20 Mai 2018 - 20:58

» Recherches dans un fichier texte
par JL35 Dim 20 Mai 2018 - 20:18

» Problème d'affichage des pages du forum (Résolu)
par Jean Claude Dim 20 Mai 2018 - 20:00

» Créer une application *.exe
par Yannick Ven 18 Mai 2018 - 20:01

» [RÉSOLU] Priorité affichage des objets : comment la définir?
par papydall Ven 18 Mai 2018 - 18:22

» Aucune différence entre ON_CLICK et ON_DOUBLE_CLICK
par Jean Claude Jeu 17 Mai 2018 - 8:37

» [Résolu] Récuperer les fonctions systeme de Panoramic
par Minibug Mar 15 Mai 2018 - 23:21

» Est-ce qu'un fichier est inclus dans l'application ?
par Yannick Mar 15 Mai 2018 - 12:04

» Création d'une application avec Panoramic_Editor
par Klaus Mar 15 Mai 2018 - 0:36

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2018
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 KGF_dll - nouvelles versions

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

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 2: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 - 8: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 - 9: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 : 11084
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 9: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
Minibug

avatar

Nombre de messages : 2841
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 10: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 http://gpp.panoramic.free.fr
Invité
Invité



MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 11: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 : 11084
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 11: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
Minibug

avatar

Nombre de messages : 2841
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 11: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 http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 11: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
Minibug

avatar

Nombre de messages : 2841
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 12: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 http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 12: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
Minibug

avatar

Nombre de messages : 2841
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 14: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 http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 14: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
Minibug

avatar

Nombre de messages : 2841
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 14: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 http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 15: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
Minibug

avatar

Nombre de messages : 2841
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Dim 22 Nov 2015 - 15: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 http://gpp.panoramic.free.fr
Contenu sponsorisé




MessageSujet: Re: KGF_dll - nouvelles versions   

Revenir en haut Aller en bas
 
KGF_dll - nouvelles versions
Revenir en haut 
Page 40 sur 40Aller à la page : Précédent  1 ... 21 ... 38, 39, 40
 Sujets similaires
-
» Nouvelles versions de TC et TP
» Deux nouvelles versions de la Porsche 911 (type 991)
» Dacia : La Success Story Continue Avec Quatre Nouvelles Versions Et Séries Limitées
» désolé de nepas donner de mes nouvelles
» 2 versions de mapsource sur PC?

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: