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
» Compilateur FBPano
par jean_debord Aujourd'hui à 11:07

» Documentation de KGF
par Klaus Hier à 22:52

» Zoom sur une portion d'écran
par JL35 Hier à 21:51

» KGF_dll - nouvelles versions
par Klaus Hier à 21:31

» double guillemets "" dans un EDIT
par pascal10000 Hier à 21:08

» Recherche d'une expression dans un source
par Marc 37 Hier à 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 17 Nov 2017 - 11:49

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

» Bizzarerie dans Edge
par Marc 37 Mer 15 Nov 2017 - 17:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto

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

avatar

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

MessageSujet: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mar 14 Mai 2013 - 20:10

Nouvelle version:
KGF.dll V2.33 du 14/05/2013

Nouveauté:
2 nouvelle fonctions:
res% = dll_call1("GetActualVersions",adr(fic$))
res% = dll_call2("DownloadFile",adr(url$),adr(file$))


La première fonction crée un fichier texte contenant une ligne par module actuellement concerné par la mise à jour automatique. Pour l'heure, ce sont KGF.dll et BDR.dll.

La seconde fonction télé_charge un fichier à partir d'une URL donnée, et l'enregistre sous le nom passé en paramètre.

Modules modifiés:
KGF.dll
KGF_SUB.bas
KGF.chm, KGF.doc, KGF.pdf


Et voici comment on s'en sert pour mettre ces modules à jour par programme:
Code:
' autoupdate.bas

dim res%, vKGF$, vBDR$
dim fic$ : fic$ = "versions.txt"
dim url_KGF$ : url_KGF$ = "http://klaus.panoramic.voila.net/versions/KGF.dll"
dim url_BDR$ : url_BDR$ = "http://klaus.panoramic.voila.net/versions/BDR.dll"
dim temp$ : temp$ = "nouveau.dll"

alpha 11 : top 11,20 : left 11,10 : caption 11,"Version locale"
memo 1 : top 1,40 : left 1,10
alpha 21 : top 21,20 : left 21,210 : caption 21,"Version actuelle"
memo 2 : top 2,40 : left 2,210

KGF_initialize("KGF.dll")
BDRinitialize("..\BDR\BDR.dll")

GetActualVersions(fic$)
file_load 1,fic$

KGFdllversion()
item_add 2,KGFdllversion$
vKGF$ = KGFdllversion$

BDRversion(vers$)
item_add 2,BDRversion$
vBDR$ = BDRversion$

' *** les lignes suivantes peuvent être remplacées par
' if vKGF$<>item_read$(1,1) then update_KGF("KGF.dll")
' si BDR.dll n'a pas été chargée
if vKGF$<>item_read$(1,1)
' *** les lignes suivantes peuvent être remplacées par
'    update_KGF("KGF.dll")
  message "Il faut mettre KGF.dll à jour "
  DownloadFile(url_KGF$,temp$)
  UnloadDLL(BDR_handle%)
  dll_off
  if file_exists("KGF.dll") then file_delete "KGF.dll"
  file_rename temp$,"KGF.dll"
end_if

if vBDR$<>item_read$(1,2)
  message "Il faut mettre BDR.dll à jour "
  DownloadFile(url_BDR$,temp$)
  UnloadDLL(BDR_handle%)
  dll_off
  if file_exists("BDR.dll") then file_delete "BDR.dll"
  file_rename temp$,"BDR.dll"
end_if

end

' *** procédure pour mise à jour de KGF.dll
sub update_KGF(KGF$)
  dim_local url_KGF$ : url_KGF$ = "http://klaus.panoramic.voila.net/versions/KGF.dll"
  dim_local temp$ : temp$ = file_extract_path$(KGF$)
  if right$(temp$,1)<>"\" then temp$ = temp$ + "\"
  temp$ = temp$ + "nouveau.dll"
  if label("update_KGF_error")=0 then label update_KGF_error
  on_error_goto update_KGF_error
  DownloadFile(url_KGF$,temp$)
  dll_off : free KGF_initialize : free KGF_res%
  if file_exists(KGF$) then file_delete KGF$
  file_rename temp$,KGF$
  off_error_goto
  KGF_initialize(KGF$)
  exit_sub
update_KGF_error:
  off_error_goto
  message "Erreur en mise à jour de KGF.dll"
end_sub

#INCLUDE "KGF_SUB.bas"


Il faut bien sûr adapter les chemins pour les commandes FILE_DELETE et FILE_RENAME ainsi que pour la fonction FILE_EXISTS, selon vos configurations.

Note:
La fonction DownloadFile peut être facilement utilisée pour créer un mécanisme de mise à jour automatique pour n'importe lequel de vos projets Panoramic. Elle peut aussi servir à télécharger n'importe quel fichier de n'importe quel site, à condition de connaître l'URL.


Dernière édition par Klaus le Mar 14 Mai 2013 - 22:41, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Mar 14 Mai 2013 - 20:33

Bon je vais faire une pose dans "Mon Ecurie"
pour me mettre à jour et étudier la bestiole... Laughing

J' ai une petite suggestion pour BDR.dll

Une petite fonction pour additionner des valeurs de champs... geek

imaginons un cheval avec une donnée "Gains en course"
et des Résultats en course...

la petite fonctions additionne les gains de chaque course en relation avec le cheval dans "Gains en course" ... geek rendeer jocolor
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mar 14 Mai 2013 - 20:43

@Ygeronimi:

BDR ne connait pas les "champs" dans les données des objets. Ce sont des sous-divisions propres à chaque application. Il que tu réalises cela avec une procédure dans ton propre programme.

@tous:
la nouvelle procédure DownLoadFile peut également servir à télé-charger le code HTLM de n'importe quelle page dont on connait l'URL. Voici un exemple qui charge le code de la page d'accueil de mon site:
Code:
dim fic$ : fic$ = "site.html"
dim url$ : url$ = "http://klaus.panoramic.voila.net/"

KGF_initialize("KGF.dll")

DownloadFile(url$,fic$)

message "fini"

end

#INCLUDE "KGF_SUB.bas"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Mar 14 Mai 2013 - 20:58

Ok Klaus,message bien reçu... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5859
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mar 14 Mai 2013 - 21:10

Excellent ça, la mise à jour auto Wink Voyons voir ça ... Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5991
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mar 14 Mai 2013 - 21:53

Chez moi je récupère une erreur 1, en fait j'appelle directement la dll:
res% = DLL_CALL2("DownloadFile",ADR(url$),ADR(fic$))
avec l'url donnée ci-dessus... scratch
Je dois rater quelque chose.

Bizarre, je ne vois pas cette fonction dans KGF.pdf... du 14/05. Mais je l'ai bien dans KGF.dll, vérification faite.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mar 14 Mai 2013 - 22:45

J'ai retesté tel quel - pas de problème. Le code
Code:
dim fic$ : fic$ = "site.html"
dim url$ : url$ = "http://klaus.panoramic.voila.net/"

KGF_initialize("KGF.dll")

DownloadFile(url$,fic$)

message "fini"

end

#INCLUDE "KGF_SUB.bas"
marche bien.

Et pour la doc, que ce soit le fichier chm, doc ou pdf, la fonction est documentée dans les "Fonctions diverses", à la fin de la liste.

EDIT

J'ai rechargé la doc dans MyDrive, à tout hasard...

EDIT

Essaie de recharger KGF.dll - j'ai eu un quiproquo au début qui a fait que pendant quelques minutes, une version avec un bug a été postée, remplacée rapidement. La version actuelle en tout cas marche.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5991
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mar 14 Mai 2013 - 23:25

J'ai rechargé, et toujours la même erreur, mais ça vient sûrement de chez moi (problème de connexion au site ?).
Voilà mon code:
Code:
dim i%, f$ : f$ = "c:\temp\site.html"
dim url$ : url$ = "http://klaus.panoramic.voila.net/"
DLL_ON "C:\PANORAMIC\KLAUS\DLLs\KGF.dll"

i% = DLL_CALL2("DownloadFile",ADR(url$),ADR(f$))

print "Fin: CR = "+STR$(i%)
end

Là pour vérification, je faisais un petit programme qui extrait le nom des dlls de KGF.dll et les classe par ordre alphabétique, pour voir si j'ai bien tout, j'en trouve 308 (c'est un gadget):
Code:
' Liste des DLLs de KGF.dll extraite de KGF.dll et triée
DIM i%, k%, d$, f$, a$, b$, n%
d$ = "C:\PANORAMIC\KLAUS\DLLs\KGF.dll"
f$ = "C:\PANORAMIC\KLAUS\DLLs\List_Dll.txt": ' liste triée des dlls
DLIST 1
FILEBIN_OPEN_READ 9, d$: a$ = STRING$(FILEBIN_SIZE(9)," "): FILEBIN_CLOSE 9
DLL_ON d$

i% = DLL_CALL2("ReadBinaryFileToString",ADR(d$),ADR(a$))
DLL_OFF
k% = INSTR(a$, CHR$(8)+CHR$(0)+"KGF.dll"+CHR$(0)): k% = k% + 10
a$ = MID$(a$, k%, LEN(a$)-k%+1)
k% = INSTR(a$, CHR$(0)+"xxx"+CHR$(0))
a$ = LEFT$(a$, k%-1)
k% = INSTR(a$, CHR$(0))
WHILE k% > 0
    b$ = LEFT$(a$, k%-1): a$ = MID$(a$, k%+1,LEN(a$)-k%)
    k% = INSTR(a$, CHR$(0))
    ITEM_ADD 1, b$: n% = n% + 1
END_WHILE
ITEM_ADD 1, a$: n% = n% + 1
SORT 1
FILE_SAVE 1, f$
PRINT "Terminé, "+STR$(n%)+" dlls trouvées."
end
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mar 14 Mai 2013 - 23:36

Chez moi, ton code marche: il retourne 0 et crée bien le fichier dans c:\temp\.

A tout hasard, j'ai recopié KGF.dll. Recharge-la et réessaie...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5991
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mar 14 Mai 2013 - 23:50

bon, j'ai rechargé, mais même résultat !
Merci quand même Klaus, mais ne te casse pas la tête, c'est sûrement quelque chose chez moi, dans mon système ou ma box, une interdiction quelconque qui doit bloquer la connexion.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mar 14 Mai 2013 - 23:58

Il ne peut rien y avoir qui bloque. L'adresse URL est celle de mon site, la même que celle qui est utilisée par le bouton "www" en bas de mes posts.

Et si tu modifies le petit code ainsi:
Code:
dim i%, f$ : f$ = "c:\temp\site.html"
dim url$ : url$ = "http://klaus.panoramic.voila.net/"
DLL_ON "C:\PANORAMIC\KLAUS\DLLs\KGF.dll"

i% = DLL_CALL2("DownloadFile",ADR(url$),ADR(f$))
full_space 0
memo 1 : full_space 1
bar_both 1
file_load 1,f$

end
tu as une vue pleine page sur le code HTML. De là chercher les href= et src= pour pomper des images ou suivre les liens d'un site...

Pour ton problème, as-tu essayé de vider ton cache internet ? Cela arrive à d'autres, en particulier sous Chome, mais pas seulement. Souvent, il a l'impression qu'il s'agit du même fichier et ne le recharge pas, en fait.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Mer 15 Mai 2013 - 0:00

Petit problème avec W7

Je m'explique :

Tout ce qui concerne Panoramic est placé ( chez moi ) en :"C:\Program Files (x86)\Panoramic Editor V 0.9.24"
...pour les dlls un sous dossier est placé à cette endroit.

Si je compile le code et le place dans ce dossier ( en ayant changé les chemins ), j'ai droit à une erreur ligne 118
Si je recrée un dossier avec les dlls et le code compilé sur le bureau, pas de souci, cela fonctionne.

Cela vient du fait que pour écrire dans "C:\Program Files (x86)", W7 demande une autorisation et par
conséquent bloque la création de "Temp$" et de "fic$" ( nouveau.dll et version.txt ).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5991
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mer 15 Mai 2013 - 0:09

Je ne suis pas sûr que ce soit une bonne idée de mettre tes sources et utilitaires sous Program Files... pourquoi tu ne te crées pas un répertoire indépendant, à toi ? en laissant l'éditeur sous Program Files, c'est ce que je fais, Program Files est un répertoire plus ou moins protégé.

@Klaus, pareil, je lance ton code, mais j'ai une erreur ligne 9: pas de fichier à charger...


Dernière édition par JL35 le Mer 15 Mai 2013 - 0:13, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mer 15 Mai 2013 - 0:10

Eh bien, il suffit de changer les autorisations d'accès sur ce dossier !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Mer 15 Mai 2013 - 0:22

Ben...je vais revoir cela car le petit code est bien pratique pour mettre les dlls à jour rapidement
sans jouer avec la corbeille et les copier/coller

Edit :

@ Klaus,

Pas si facile que çà chez w7 ce sont les droits administrateur and Co


Dernière édition par ygeronimi le Mer 15 Mai 2013 - 0:24, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5991
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mer 15 Mai 2013 - 0:23

Pour le problème de cache, je ne vois pas trop, il devrait au moins me rendre un résultat, même non rafraichi (je suis sous Firefox).
D'ailleurs je ne sais pas le vider ( Embarassed ), mais je quitte et je relance, ce qui doit le faire, avec un résultat identique.

@ygeronimi entièrement d'accord, à la cadence où KGF.dll est actualisé !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mer 15 Mai 2013 - 0:29

Dans Firefox, tu cliques sur "Options", puis "Avancé", onglet "Réseau". Tu obtiens cette fenêtre:

Et là, tu cliques sur les 2 boutons "Vider maintenant", puis tu recharges la DLL.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Mer 15 Mai 2013 - 1:12

dès que je mets le code de mise à jour ailleurs que dans un dossier sur le bureau, j'ai droit à çà :
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mer 15 Mai 2013 - 1:21

Pöur voir à quoi ça correspond, est-ce que tu peux poster ton code ? C'est dans KGF_SUB.bas, mais je veux être sûr que tu as la bonne version de KGF_SUB.bas...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Mer 15 Mai 2013 - 1:26

Erreur réparé !!!

POURQUOI PANORAMIC NE SIGNALE PAS :

" CHANGER LE PROGRAMMEUR !!! BUG NEURONE N° .....
DESOLE NEURONE ABSENTE !!! "


lol! lol! lol!

Edit :

Comme un idiot que je suis, j'avais bien la bonne dll dans le dossier du bureau mais pas dans mon dossier Panoramic... Embarassed Embarassed Embarassed
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mer 15 Mai 2013 - 1:31

Eh oui, ça arrive aux meilleurs...

C'est bluffant de pouvoir télécharger des fichiers ou des pages HTML, non ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Mer 15 Mai 2013 - 1:33

Une petite question par curiosité,

L'adresse que tu mets est une adresse sur ton site ? ou sur un serveur spécial ?
Je me demande si avec les liens skydrive, cela fonctionnerait aussi.

Sur ce serveur, on peut avoir un lien pour partager un fichier ou un dossier.
Si je mets à jour le fichier sur le serveur, le lien reste le même.
Et je me demandais si on pouvait s'en servir comme tu le fais avec l'adresse de tes dlls.


On s'est croisé.
Oui, c'est super et c'est bien pratique pour les mises à jours.
Je vois déjà la possibilité de mise à jour automatique d'une application.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

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

MessageSujet: re   Mer 15 Mai 2013 - 1:52

Pour les mises à jour, il y a plusieurs adresses qui vont être nécessaires:

KGF.dll
BDR.dll
KGF_SUB.bas ( qui contient maintenant les subs pour les deux dlls )

KGF.chm
BDR.chm ( qui n'existe pas sous cette forme mais sous le nom de BDR_SUB.chm )


Truc qui est curieux, c'est que tu développes

KGF.dll et l'aide va avec super !
BDR.dll et là l'aide est sur BDR_SUB.bas alors que les subs sont intégrées à KGF_SUB.bas qui lui à son aide au point mort... scratch

lol!


Dernière édition par ygeronimi le Mer 15 Mai 2013 - 1:56, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mer 15 Mai 2013 - 1:52

Le lien dans le petit programme de démo est l'adresse de la page d'accueil de mon site, celui qui vient quand on clique sur le "www" dans le bas de mes posts. Tu peux mettre n'importe quel lien directement accessible (sans login). C'est pourquoi, dans mon programme de mise à jour pour KGF.dll, j'ai mis la procédure suivante:
Code:
' *** procédure pour mise à jour de KGF.dll
sub update_KGF(KGF$)
  dim_local url_KGF$ : url_KGF$ = "http://klaus.panoramic.voila.net/versions/KGF.dll"
  dim_local temp$ : temp$ = file_extract_path$(KGF$)
  if right$(temp$,1)<>"\" then temp$ = temp$ + "\"
  temp$ = temp$ + "nouveau.dll"
  if label("update_KGF_error")=0 then label update_KGF_error
  on_error_goto update_KGF_error
  DownloadFile(url_KGF$,temp$)
  dll_off : free KGF_initialize : free KGF_res%
  if file_exists(KGF$) then file_delete KGF$
  file_rename temp$,KGF$
  off_error_goto
  KGF_initialize(KGF$)
  exit_sub
update_KGF_error:
  off_error_goto
  message "Erreur en mise à jour de KGF.dll"
end_sub

J'ai choisi de créer un nouveau dossier chez l'hébergeur: le dossier versions\, dans lequel je place un fichier versions.txt (c'est celui qui est téléchargé automatiquement par la fonction GetActualVersions) ainsi que KGF.dll et BDR.dll, en doublon avec MyDrive. Ainsi, on peut télécharger la dll directement par programme. Il suffit de faire GetActualVersions et de comparer la version de KGF.dll dans ce fichier avec celle retournée par KGFdllversion() pour savoir s'il faut faire update_KGF() pour remplacer KGF.dll.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   Mer 15 Mai 2013 - 1:57

On s'est croisé. Pour le moment, je n'ai mis que KGF.dll et BDR.dll. Dans mon esprit, c'est un moyen de mettre les DLLs à jour en cours d'exécution d'un programme (en général au démarrage), même avec une version exécutable chez un utilisateur. Le développeur, lui, reprend ces fichiers plus simplement sur MyDrive, comme d'habitude.

L'intérêt de changer les DLLs, c'est qu'on n'a même pas besoin d'arrêter le programme ! Ma procédure ferme la dll, la télécharge, remplace l'ancienne par la nouvelle puis réouvre la nouvelle, tout cela de façon transparente.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé




MessageSujet: Re: 2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto   

Revenir en haut Aller en bas
 
2.33 du 14 mai 2013: ajout fonctions pour mise à jour auto
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 3Aller à la page : 1, 2, 3  Suivant

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: