Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
En PB9 comment incorprer dynamiquement un export d'une datawindow (.SRD) dans une library?
Merci
Hors ligne
Hors ligne
Merci,
mais pourrais-avoir un exemple de code car le mien ne fonctionne pas?
Hors ligne
string dwsyntax, ErrorBuffer integer rtncode dwsyntax = dw_1.Describe("DataWindow.Syntax") rtncode = LibraryImport("c:\pb\dwTemp.pbl", & "d_emp", ImportDataWindow!, & dwsyntax, ErrorBuffer, & "Employee DataWindow 1")
Hors ligne
Voici mon code qui ne fonctionne pas :
string dwsyntax, ErrorBuffer integer rtncode ls_nom_export = gs_chemin_format_etiquettes + '\' + dw + ".srd" dwsyntax = dw_preview.Describe("DataWindow.Syntax") rtncode = LibraryImport("C:\projets\pb\Etiquettes PF V9\import.pbl", ls_nom_export, ImportDataWindow!, dwsyntax, ErrorBuffer )
Hors ligne
et t'as tenté de faire un affichage de ton ls_nom_export pour voir ce qu'il donne ? Des fois que ton \ serait condidéré comme un caractère d'échappement ?
Hors ligne
voici le contenu de ls_nom_export : C:\projets\pb\Serveur Impression Etiquettes Imprime\Formats Etiquettes\d_douglass.srd.
errobuffer : Invalid entry name
rtncode : -1
dwsyntax : ""
Ma question peut-on utiliser une export (.srd) avec la fonction LybraryImport?
Merci
Hors ligne
il faut que tu recuperes les données de ce fichier via la fonction FileRead
tu stockes tout cela dans une variable string.
il te faut aussi determiner le nom de la datawindow.
et le tour est joué.
Hors ligne
cantin_jl a écrit:
Voici mon code qui ne fonctionne pas :
Code: pb
string dwsyntax, ErrorBuffer integer rtncode ls_nom_export = gs_chemin_format_etiquettes + '\' + dw + ".srd" dwsyntax = dw_preview.Describe("DataWindow.Syntax") rtncode = LibraryImport("C:\projets\pb\Etiquettes PF V9\import.pbl", ls_nom_export, ImportDataWindow!, dwsyntax, ErrorBuffer )
Je ne me souviens plus bien, mais il me semble que le dwsyntax ne contient pas le header du fichier .SRD (les deux premières lignes) à vérifier.
Il vaut mieux passer par un libraryexport pour avoir un fichier au bon format.
Tu peux instancier une DS est y créer dynamiquement ta DW avant de faire le libraryexport...
Dernière modification par Chrnico (29-06-2007 08:53:41)
Hors ligne
J'ai eu un problème similaire.
Ton erreur est du au nom de ta datawindow comme l'a di pick.
Tu dois lui donner le nom sous lequel tu veux qu'il stocke ton objet, pas le chemin de l'objet physique.
Attention aux caractères spéciaux dans le nom...tu pourrais y passer beaucoup de temps..
Hors ligne
J'ai résolu mon problème en migrant en PB 10.5 et avec le code ci-dessous :
//------------------------------------------------------------ ls_nom_export = gs_chemin_format_etiquettes + '\' + dw + ".srd" li_FileNum = FileOpen(ls_nom_export, TextMode!, Read!, LockRead!) if li_FileNum > 0 then ls_eti = '' ll_bytes_read = FileReadEx(li_FileNum, ls_eti) FileClose(li_FileNum) luo_rep.of_setrepcourant(gs_rep_courant) dw_preview.reset() dw_preview.create(ls_eti) dw_preview.settransobject(SQLCA) end if
Ainsi, je récupère bien l'export (.SRD) et généère dynamiquement ma datawindow que je peux par la suite sauvegarder dans une library si je le désire.
Merci à tous
Hors ligne