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
» Button_picture
par pascal10000 Aujourd'hui à 11:41

» Pourquoi le compilateur stagne
par Minibug Aujourd'hui à 11:09

» 4 (en analyse): SYNEDIT_TARGET_IS_OBJECT devient inactif
par Jack Aujourd'hui à 10:09

» 3 (en analyse): Mauvaise interprétation du string "THEN"
par Jack Aujourd'hui à 10:03

» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Marc Aujourd'hui à 10:00

» KGF_dll - nouvelles versions
par pascal10000 Hier à 17:27

» Mah-Jong européen new-look
par Minibug Mar 12 Déc 2017 - 22:31

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 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

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 | 
 

 Au secours : TERMINATE ne m'aime plus!

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
papydall

avatar

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

MessageSujet: Au secours : TERMINATE ne m'aime plus!   Mer 3 Déc 2014 - 18:23

Salut tout le monde.

J’utilise la fonction WB_Create de la KGF.dll dernière version : KGF.dll V3.94 du 01/12/2014
J’ai un soucis avec la commande Panoramic TERMINATE
Citation :
Cette commande TERMINATE arrête définitivement l'exécution du programme et libère la mémoire. Tous les objets sont détruits. Le programme n'existe plus en mémoire.

Ça , c’est la théorie, mais la pratique , c’est autre chose : PANORAMIC.exe a cessé de fonctionner … et je dois tuer ce processus qui ne répond plus (pourtant je suis un homme paisible, pas un tueur !!!)

Voici un code exemple :  de-REMer la ligne 20 ( j’invente des nouveaux verbes !) pour voir.
Cliquez sur le bouton Quitter : ça ne TERMINATE pas le programme.

Code:
rem ============================================================================
label quitter
dim res%, WB1%, WB2%, url$

dll_on "C:\Users\acer\Desktop/KGF.dll"
button 1 : top 1,30 : left 1,250 : caption 1,"Quitter" : on_click 1,Quitter
CreerWB()
end
rem ============================================================================
SUB creerWB()
  WB1% = dll_call1("WB_Create",handle(0))
  res% = dll_call5("WB_Locate",WB1%,100,100,400,300)
  url$ = "http://panoramic.free-boards.net/"
  res% = dll_call2("WB_Url",WB1%,adr(url$))
END_SUB
rem ============================================================================

Quitter:
  res% = dll_call1("WB_Delete",WB1%)
'  terminate
return
rem ============================================================================


Je pense que TERMINATE n'apprécie pas trop les DLLs
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   Mer 3 Déc 2014 - 18:44

Et si tu mets un petit délai entre la suppression et le terminate ?...
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   Mer 3 Déc 2014 - 18:51

Le code telque tu nous l' a posté me renvoie ceci lors du clic sur le bouton "Quitter" :


il y a déjà un problème.
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   Mer 3 Déc 2014 - 19:10

Je viens de prendre la dernière version de KGF et pfff... plus de problème... geek
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
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: Au secours : TERMINATE ne m'aime plus!   Mer 3 Déc 2014 - 20:22

ygeronimi a écrit:
Je viens de prendre la dernière version de KGF et pfff... plus de problème... geek

Moi aussi, j'utilise la dernière version de KCF et pfff... il y a un problème...  PANORAMIC.exe a cessé de fonctionner … Crying or Very sad
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   Mer 3 Déc 2014 - 20:29

Papydall a écrit:
Moi aussi, j'utilise la dernière version de KCF
Si tu utilise KCF, il est normal que tu es un problème...


ceci dit, et plaisanterie mise à part, essaies de redémarrer l' éditeur avec toutes les vérifs de "processus" habituelles.
puis remplace le / par un \ dans l' adresse de KGF.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Au secours : TERMINATE ne m'aime plus!   Mer 3 Déc 2014 - 20:53

Je viens d'essayer ton code, Papydall. J'y ai fait une seule modif: j'ai adapté le chemin vers KGF.dll à ma configuration. Et ça marche sans aucun problème. Ma version de KGF.dll est:
KGF.dll V3.84 du 01/12/2014
Avec ça, tu ne devrais avoir aucun problème. Je l'utilise quotidiennement.
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: Au secours : TERMINATE ne m'aime plus!   Jeu 4 Déc 2014 - 2:23

J’ai bien écrit que  TERMINATE  utilisée avec KGF.dll ne m’aime plus !
Ce simple
Code:
dll_on "C:\Users\acer\Desktop\KGF.dll"
message "ok"
terminate

Provoque le plantage !
J’ai testé avec d’autres DLL  et le programme se termine parfaitement.
Suis-je la seule et unique victime de ce phénomène ? Sad Sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

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

MessageSujet: Re: Au secours : TERMINATE ne m'aime plus!   Jeu 4 Déc 2014 - 2:41

Regarde cette version, légèrement "complétée" de ton code:
Code:
dim version$, res%
version$ = string$(25," ")
dll_on "KGF.dll"
res% = dll_call1("KGFdllVersion",adr(version$))
hide 0
message "ok "+str$(res%)+" = " + version$
show 0
terminate
Voici ce que ça donne:
[img][/img]
Et la validation du message arrête le programme proprement, sans plantage...
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: Au secours : TERMINATE ne m'aime plus!   Jeu 4 Déc 2014 - 3:00

Ich bin betrübt, das geht nicht!
Chez moi, le TERMINATE  c'est le  plantage !
Je vais oublier un moment ce TERMINATE
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

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

MessageSujet: Re: Au secours : TERMINATE ne m'aime plus!   Jeu 4 Déc 2014 - 3:07

Alors, fais comme moi dans Synedit_Editor:
Code:
res% = dll_call1("KillProcessByHandle",handle(0))
à la place de TERMINATE...
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: Au secours : TERMINATE ne m'aime plus!   Jeu 4 Déc 2014 - 3:21


Pour ce KillProcessByHandle : ça marche et plus de plantage.

Grande question  pour moi (un super novice) qui demande une petite réponse du super Klaus :
Après avoir créer un browser par WB_Create et le localiser par WB_Locate est-il possible de définir sur cet emplacement un BUTTON cliquable  par exemple pour gérer un événement quelconque?

Code:
dim res%,WB%
dll_on "C:\Users\acer\Desktop/KGF.dll"
WB% = dll_call1("WB_Create",handle(0))
res% = dll_call5("WB_Locate",WB%,50,50,400,300)
' Ici je veux définir un BUTTON
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

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

MessageSujet: Re: Au secours : TERMINATE ne m'aime plus!   Jeu 4 Déc 2014 - 3:49

Qu'est-ce que tu veux faire exactement ?

Avec un évènement ON_CLICK du bouton, provoquer des réactions du WB ? Pas de problème: utilise PrinterManager et PrinterFunction pour cela.

Tu veux être averti sur des évènements qui se produisent à l'intérieur du WB ? Alors il faut faire autrement. Regarde les derniers rajouts concernant les nouvelles fonctions WB_xxx. Elles permettent de faire cela.

Sinon, décris plus précisément ce qu'il te faut...
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: Au secours : TERMINATE ne m'aime plus!   Jeu 4 Déc 2014 - 4:14

Je dispose de plusieurs fichiers Flash (extension SWF).
Ce sont des animations très intéressantes  (Math, Physique, Electronique, etc.).
Je désire en faire une application en Panoramic (avec KGF.dll, …)
L’exemple suivant va te montrer la chose.
Même si tu ne disposes pas du fichier à la ligne 14, le programme doit se dérouler en affichant simplement un petit carreau sur la page.
J’ai défini le bouton QUITTER  sur FORM 0.
Mon souhait est le définir sur la page de l’animation.

Code:

rem ============================================================================
rem       Intégrer un objet Flash dans un objet HTML
rem ============================================================================

label fin
dim Id_Form,jeu$ ,WB% , termine%
full_space 0
Id_Form = 10 : form Id_Form
 width Id_Form,width(0)-100 : height Id_Form,height(0)-120 : top Id_Form, 100 : left Id_Form,50
 button 20 : left 20,width(0)/2-200 : top 20,20 : width 20, 200 : caption 20,"Q U I T T E R"
 font_bold 20: font_size 20,14 : on_click 20,fin

dll_on "C:\Users\acer\Desktop/kgf.dll" : ' Adapter le chemin
jeu$ = "C:\Users\acer\Desktop\SWF\Math/Aire4_Triangle1.swf" : ' Fichier Flash

caption Id_Form,jeu$
Jeu_Flash(Id_Form,jeu$,width(10),height(10))
end
rem ============================================================================
' Id_Form : identificateur du Form
' Jeu$ est le nom du fichier Flash d'extension SWF
' Largeur et Hauteur sont les dimensions de la fenêtre de vision
SUB Jeu_Flash(Id_Form,jeu$,largeur,hauteur)
    dim_local  hnd%, res%, url$,q$
    q$ = chr$(34)
    file_open_write 9999,"flash.html"
' L'animation flash ci-dessous se résume en un petit code, c'est la simplcité même de l'html5.
    file_writeln 9999,"<embed src='"+jeu$+"'"+q$+" width="+q$+str$(largeur)+q$+" height="+q$+str$(hauteur)+q$+">"
    file_close 9999

    hnd%=handle(Id_Form)
    url$="file://"+dir_current$+"/flash.html"
    WB%=dll_call1("WBCreate",hnd%)
    res%=dll_call4("WBLocate",0,0,largeur,hauteur)
    res%=dll_call1("WBUrl",adr(url$))
    file_delete "flash.html"
END_SUB
rem ============================================================================
fin:
  termine% = dll_call1("KillProcessByHandle",handle(0))
return
rem ============================================================================



REMARQUE :
Le bouton n'est pas nécessairement pour terminer le programme.
Il pourrait être pour charger une autre animation etc...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

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

MessageSujet: Re: Au secours : TERMINATE ne m'aime plus!   Jeu 4 Déc 2014 - 4:47

Tu ne peux pas injecter un bouton dans l'animation flash ni dans le WB. Mais tu peux le placer simplement à-côté du premier bouton (solution 1) ou décaler un peu le WB vers le bas et coller le bouton dans la fenêtre 10 tout en haut (solution 2).

Voici ton code aménagé ainsi, avec les deux solutions identifiées par des commentaires (actuellement, la solution 2 est active):
Code:

rem ============================================================================
rem      Intégrer un objet Flash dans un objet HTML
rem ============================================================================

label fin, autre
dim Id_Form,jeu$ ,WB% , termine%
full_space 0
Id_Form = 10 : form Id_Form
 width Id_Form,width(0)-100 : height Id_Form,height(0)-120 : top Id_Form, 100 : left Id_Form,50
 button 20 : left 20,width(0)/2-200 : top 20,20 : width 20, 200 : caption 20,"Q U I T T E R"
 font_bold 20: font_size 20,14 : on_click 20,fin
' ======== Klaus: solution 1: (2 lignes)
' button 30 : left 30,width(0)/2 : top 30,20 : width 30, 200 : caption 30,"A U T R E"
' font_bold 30: font_size 30,14 : on_click 30,autre

dll_on "kgf.dll" : ' Adapter le chemin
jeu$ = "Aire4_Triangle1.swf" : ' Fichier Flash

caption Id_Form,jeu$
Jeu_Flash(Id_Form,jeu$,width(10),height(10))
end
rem ============================================================================
' Id_Form : identificateur du Form
' Jeu$ est le nom du fichier Flash d'extension SWF
' Largeur et Hauteur sont les dimensions de la fenêtre de vision
SUB Jeu_Flash(Id_Form,jeu$,largeur,hauteur)
    dim_local  hnd%, res%, url$,q$
' ======== Klaus: solution 2: (2 lignes)
 button 30 : left 30,width(0)/2 : top 30,0 : width 30, 200 : caption 30,"A U T R E"
 font_bold 30: font_size 30,14 : on_click 30,autre : parent 30,10
    q$ = chr$(34)
    file_open_write 9999,"flash.html"
' L'animation flash ci-dessous se résume en un petit code, c'est la simplcité même de l'html5.
    file_writeln 9999,"<embed src='"+jeu$+"'"+q$+" width="+q$+str$(largeur)+q$+" height="+q$+str$(hauteur)+q$+">"
    file_close 9999

    hnd%=handle(Id_Form)
    url$="file://"+dir_current$+"/flash.html"
    WB%=dll_call1("WBCreate",hnd%)
' ======== Klaus: solution 1: (1 ligne)
'    res%=dll_call4("WBLocate",0,0,largeur,hauteur-30)
' ======== Klaus: solution 3: (1 ligne)
    res%=dll_call4("WBLocate",0,30,largeur,hauteur-30)
    res%=dll_call1("WBUrl",adr(url$))
    file_delete "flash.html"
END_SUB
rem ============================================================================
fin:
  termine% = dll_call1("KillProcessByHandle",handle(0))
return
rem ============================================================================
autre:
  message "charger ici une autre animation flash..."
  to_foreground 10
return
rem ============================================================================


Note: j'ai changé les deux chemins d'accès...
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: Au secours : TERMINATE ne m'aime plus!   Jeu 4 Déc 2014 - 5:11

Merci maître Klaus.
J'adopte la solution 2.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: Au secours : TERMINATE ne m'aime plus!   

Revenir en haut Aller en bas
 
Au secours : TERMINATE ne m'aime plus!
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Bonne fin de semaine de Pâques à vous tous que j'aime et que j'apprécie :)
» ceux qui n'aime pas les bOunty ne sont pas mes amis... = D
» Sashimi n'aime pas les sushis
» On aime me fréquenter. Je suis passionante et passionné.
» Emy* || J'aime pas les épinards ! Vive les frites.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: