Hi dudes
I give a chance (again) to PB and LINUX... After many setbacks, I manage to throw it.
I made a link retrieval software. A download manager.
You add X links in a chained list and click on download.
The downloads are made one by one in a thread that here.
I specify that under windows the software works... But under linux, when I click on my download button.
My thread starts but I have an error in my process.
Here are the logs of the debug and the process in question.
Thanks for your help.
Translated with http://www.DeepL.com/Translator (free version)
Code: Select all
[22:43:23] Waiting for executable to start...
[22:43:23] Executable type: Linux - x64 (64bit, Unicode, Thread)
[22:43:23] Executable started.
[22:43:23] [WARNING] 6.2MAC.pb (Line: 1)
[22:43:23] [WARNING] GLib-GIO (DEBUG): _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for âgio-vfsâ
[22:43:50] [WARNING] 6.2MAC.pb (Line: 695)
[22:43:50] [WARNING] GLib-GIO (DEBUG): _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for âgsettings-backendâ
[22:43:50] [WARNING] 6.2MAC.pb (Line: 695)
[22:43:50] [WARNING] GLib-GObject (CRITICAL): g_value_take_string: assertion 'G_VALUE_HOLDS_STRING (value)' failed
[22:43:50] [WARNING] 6.2MAC.pb (Line: 695)
[22:43:50] [WARNING] GLib-GObject (WARNING): ../../../gobject/gtype.c:4268: type id '0' is invalid
[22:43:50] [WARNING] 6.2MAC.pb (Line: 695)
[22:43:50] [WARNING] GLib-GObject (WARNING): can't peek value table for type '<invalid>' which is not currently referenced
[22:43:50] [WARNING] 6.2MAC.pb (Line: 695)
[22:43:50] [WARNING] GLib-GObject (WARNING): ../../../gobject/gvalue.c:185: cannot initialize GValue with type '(null)', this type has no GTypeValueTable implementation
[22:43:50] [WARNING] 6.2MAC.pb (Line: 695)
[22:43:50] [WARNING] GLib-GObject (CRITICAL): g_value_type_compatible: assertion 'src_type' failed
[22:43:50] [WARNING] 6.2MAC.pb (Line: 695)
[22:43:50] [WARNING] GLib-GObject (CRITICAL): g_value_copy: assertion 'g_value_type_compatible (G_VALUE_TYPE (src_value), G_VALUE_TYPE (dest_value))' failed
[22:43:50] [WARNING] 6.2MAC.pb (Line: 695)
[22:43:50] [WARNING] GLib-GObject (CRITICAL): g_value_type_compatible: assertion 'src_type' failed
[22:43:50] [WARNING] 6.2MAC.pb (Line: 695)
[22:43:50] [WARNING] GLib-GObject (WARNING): unable to set property 'text' of type 'gchararray' from value of type '(null)'
[22:44:07] The Program was killed.
Code: Select all
Procedure DDownload(*ldvm)
Protected LASTPATH$, PATH$
N = ListSize (link())
Debug ""
Debug " --- TELECH ---------------------"
Debug Str(n) + " liens détecté(s)"
DisableGadget(#BT_SUPPR,1)
DisableGadget(#BT_ADDLINK,1)
DisableGadget(#BT_DOWNLOAD,1)
If LASTPATH$ = "" : LASTPATH$ = GetCurrentDirectory() : EndIf
PATH$ = PathRequester("Choisissez un dossier de sauvegarde",LASTPATH$)
LASTPATH$ = PATH$ ; <--- Sous linux erreur ICI
ForEach LINK()
Q = 0
Fichier$ = LINK()\NAME
; ;Debut du téléchargement
F$ = GetFilePart(Fichier$,#PB_FileSystem_NoExtension)
Telechargement = ReceiveHTTPFile(Link()\DIRECTURL, PATH$+Fichier$, #PB_HTTP_Asynchronous)
Size = Val(link()\SIZE)
If Telechargement
Repeat
Progression = HTTPProgress(Telechargement)
Select Progression
Case #PB_HTTP_Success
Taille = FinishHTTP(Telechargement)
SetGadgetText(#info,"Téléchargement terminé (Taille: " + Taille + ") 100% " )
If PlayS = #True : PlaySound(#SON) : EndIf
SetGadgetState(#PBar1,100)
Q = 1
Case #PB_HTTP_Failed
SetGadgetText(#info,"Le téléchargement a échoué")
If PlayS = #True : PlaySound(#SON) : EndIf
SetGadgetState(#PBar1,0)
Q = 1
Case #PB_HTTP_Aborted
SetGadgetText(#info,"Le téléchargement a été interrompu")
SetGadgetState(#PBar1,0)
Q = 1
Default
If size <> 0
F$ = GetFilePart(Fichier$,#PB_FileSystem_NoExtension)
Progression$ = StrF((Progression / Size) * 100, 0)
SetGadgetText(#info, "Téléchargement de " + f$ +" "+ Progression$ + "%" )
SetGadgetState(#PBar1,(Progression / Size) * 100)
EndIf
EndSelect
;
Delay(500) ; CPU Breath
Until Q = 1
Else
Debug "Erreur de téléchargement"
EndIf
Next
ClearList(LINK())
ClearGadgetItems(#combo)
DisableGadget(#BT_ADDLINK,0)
UpdateCombo()
Off()
EndProcedure