Aller au contenu


probleme avec handy dialog


1 réponse à ce sujet

#1 Willy

    Ceinture Marron

  • Members
  • 131 messages

Posté 14 février 2012 - 01:42

Bonjour à tous
j'ai un pb avec handy dialog

ce que je cherche à faire c'est récupérer un fichier stocké n'importe ou dans un disque dur et le sauvegarder dans un dossier précis.

Mon premier script me permet de récupérer ce dossier :


on openFileDialog Type
  -- ici j'ouvre ma fenetre
  File = [:]
  File.addProp(#Filters,[["Fichier LST","*.LST"]])
  File.addProp(#InitFilter,1)
  File.addProp(#MultiSelect,false)
  File.addProp(#CreatePrompt,true)
  File.addProp(#FileMustExist,true)
  File.addProp(#ShowReadOnly,false)
  File.addProp(#InitReadOnly,true)
  File.addProp(#ShowNetworkButton,false)
  File.addProp(#ShowOverWritePrompt,false)
  File.addProp(#InitDir,"C:\Documents and Settings\Administrateur\Bureau")
  File.addProp(#InitFile,"")
  File.addProp(#Title,"PLAN DE FEUX 2012 - IMPORTATION PLAN DE FEUX")
  File.addProp(#DefaultExt,"string")
  Result = ShowFileDialog(Type,File)
  showResult(Result)
end
--- ****************************************************
-- CHARGEMENT SI UN FICHIER EST SELECTIONNE
--- ****************************************************
on showResult Result
  if Result.count = 3 then
 
        -- recuperation du chemin et du titre du fichier sélectionné
        member("STOCKAGE_PDFImport").text =  string(Result[3].SelectedFile)
        member("NOM_PDF_IMPORT").text =  string(Result[3].FileTitle)  
        -- chargement du fichier PDF sélectionné
        global myVlistImport
        myVlistImport = new(xtra "vlist","" & member("STOCKAGE_PDFImport").text)
        listToImport = myVlistImport.read()
        myVlistImport = 0
 
        -- on recrée chacune des vignettes
        if (VOID <> getaProp(listToImport, #vignette)) then
          listVignette = listToImport.vignette
          repeat with uneVignette in listVignette
                CreateThumbnail(uneVignette)
          end repeat
        end if
 
        -- on recrée chacun des panneaux
        if (VOID <> getaProp(listToImport, #panneau)) then
          listPanneau = listToImport.panneau
          repeat with unPanneau in listPanneau
                CreatePanneau(unPanneau)
          end repeat
        end if
 
        member("LIEU_CARTOUCHE").text = listToImport.cartLieu
        member("DATE_CARTOUCHE").text = listToImport.cartDate
        member("CONCEPTEUR_CARTOUCHE").text = listToImport.cartAuteur
        member("NOM_CARTOUCHE").text = listToImport.cartNom
        member("STOCK_REGLE").text = listToImport.cartRegle
        member("STOCK_GRILLE").text = listToImport.cartGrille
        member("TITRE_STAGE").text = listToImport.cartTitreStage
 
        sprite(51).memberNum = value(member("STOCK_REGLE").text)  -- REGLE
        sprite(52).memberNum = value(member("STOCK_GRILLE").text)  -- GRILLE
 
        -- Affiche la bonne Echelle du PDF importé
        stageBoutonChoisi
 
        member("STOCKAGE_PDFImport").text = ""
  else
        member("STOCKAGE_PDFImport").text = ""
        member("NOM_PDF_IMPORT").text = ""
  end if
end

jusque la ça fonctionne bien, mon fichier est récupéré et est affiché sur le stage
ça se complique quand je veux le sauvegarder selon le chemin ou je l'ai récupéré :

Si le fichier se trouve à la racine de l'anim, il sera correctement sauvegardé dans le dossier de destination
si par ex le fichier se trouve sur le bureau il sera sauvegardé sur le bureau !!!

le script de sauvegarde :


on sauverPdf1
  member("STOCK_REGLE").text = "2"
  member("STOCK_GRILLE").text = "3"

  listToSave   = [:]
  listVignette = []
  listPanneau  = []
  listPanneauObj  = []
  sendAllSprites(#mGetVignette, listVignette)
  sendAllSprites(#mGetPanneau, listPanneau)
  sendAllSprites(#mGetPanneau, listPanneauObj)
  listToSave[#vignette] = listVignette
  listToSave[#panneau]   = listPanneau
  listToSave[#panneau]   = listPanneauObj
  listToSave[#cartNom]   = member("NOM_CARTOUCHE").text
  listToSave[#cartLieu]   = member("LIEU_CARTOUCHE").text
  listToSave[#cartDate]   = member("DATE_CARTOUCHE").text
  listToSave[#cartAuteur]   = member("CONCEPTEUR_CARTOUCHE").text
  listToSave[#cartRegle]   = member("STOCK_REGLE").text
  listToSave[#cartGrille]   = member("STOCK_GRILLE").text
  listToSave[#cartTitreStage]   = member("TITRE_STAGE").text

  --SAUVEGARDE AUTO DANS FICHIER VLIST
  global myVlistLIST
  myVlistLIST = new(xtra "vlist","Data_Pdf\Echelle1\" & member("NOM_PDF_IMPORT").text)
  myVlistLIST.write(listToSave)
  myVlistLIST = 0

  sauverPDFDefaut1
end

pourtant ici à la sauvegarde le chemin de sauvegarde est bien spécifié :
Data_Pdf\Echelle1\

Si vous y voyez une astuce !!
merci, William

#2 Willy

    Ceinture Marron

  • Members
  • 131 messages

Posté 15 février 2012 - 10:35

Bon j'ai poursuivi ma recherche sur cette erreur et j'ai du nouveau

J'ai un plantage une fois l'importation ou l'exportation du fichier fait avec handy dialog mais c'est plutôt au niveau de mes variables globales que ça semble planter

en effet après avoir effectué une importation ou exportation si je fait une manip appelant ou étant géré par une variable globale ça plante !
par exemple j'ouvre un fichier géré par Vlist et ça plante ! et pareil pour n'importe quelle autre manip.
pourtant ma variable Vlist à bien été à void dans mon script handy dialog !!!

global myVlistLIST
  myVlistLIST = new(xtra "vlist","Data_Pdf\Echelle1\" & member("NOM_PDF_IMPORT").text)
  myVlistLIST.write(listToSave)
  myVlistLIST = 0 -- ici







1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS - Tel. 0826 466 613 - Fax. 01 72 70 31 38

FFP