Gambas-it

Archivi (sola lettura) => Domande tecniche (Gambas 2) => Topic aperto da: ira83 - 13 Dicembre 2010, 11:54:43

Titolo: [risolto] altro caso di non compatibilità relativo alle immagini
Inserito da: ira83 - 13 Dicembre 2010, 11:54:43
Ciao a tutti...

che non sia un mago della programmazione ormai è noto  :D  però qua mi succede qualcosa di davvero strano...
ho scritto un programmino banale che mi scarica dei file da dei siti e come "controllo" ho inserito queste righe all'apertura del programma:
Codice: [Seleziona]
    IF Len(controllo) = 0 THEN
        Message.Error("Non è presente la connessione", "exit")
        MDl.Close()
    END IF
    


    IF NOT Exist(user.home &/ "prog_down") THEN
        MKDIR (user.home &/ "prog_down")
    END IF

poi all'interno del programmo ho inserito dei timer per vedere l'avanzamento dei download...

solo che:

su ubuntu 10.10 e 10.04 va tutto perfetto, mentre su mandriva e opensuse no... ricevo l'errore:
Codice: [Seleziona]
Form1.?.0: File or directory does not exist
La classe di avvio si chiama Form1 ma non capisco l'errore, e sopprattutto xke su una distro vada e su di un'altra no...

ps. in tutto il programma non si fa riferimento a nessun'altra cartella...

Titolo: Re: altro caso di non compattibilità
Inserito da: leo72 - 13 Dicembre 2010, 18:41:00
Ogni distro imposta delle variabili d'ambiente in maniera diversa. Può darsi che qualcosa non vada per il verso giusto.
Ad esempio, noto che gli errori li hai su Mandriva e openSuse, che sono in genere distro basate su KDE. Forse questo desktop lavora differentemente con i percorsi utente.

Hai provato a creare un semplice form contenente solo:
Codice: gambas [Seleziona]
Message(User.Home)

ed a vedere cosa succede?
Titolo: Re: altro caso di non compattibilità
Inserito da: fsurfing - 13 Dicembre 2010, 20:32:39
il problema sta proprio nella variabili di ambiente , su sistemi mandriva/opensuse i file che scarichi con wget non vengono collocati nello stesso posto che su ubuntu.

dal messaggio di errore direi che su mandriva e opensuse hai provato direttamente l' eseguibile , "Form1.?.0:" indica semplicemente che c'è un errore in form1 , questo errore è appunto che non trova il file scaricato .

noi abbiamo avuto lo stesso problema con meteomachine .

alcuni utenti mandriva esperti  hanno risolto cambiando la cartella di lavoro del programma.

in alternativa puoi lanciare wget con un opzione apposita che ti scarichi i file in una cartella predefinita in modo da evitare questo problema
Titolo: Re: altro caso di non compattibilità
Inserito da: ira83 - 14 Dicembre 2010, 12:00:49
Scusate, non ho ancora avuto modo di provare... fra oggi o domani provo e vi so dire...
intanto ringrazio per le pronte risposte (come sempre  ;D )

ciao a tutti
Titolo: Re: altro caso di non compattibilità
Inserito da: ira83 - 14 Dicembre 2010, 16:48:32
Eccomi... niente da fare ho provato a sostituire cartella e altro... La cosa strana è che lo stesso errore lo ricevo quando in Form1 ho solo:
Codice: [Seleziona]

PUBLIC SUB Form_Open()

  ME.Center
  '  IF NOT Exist("$HOME/cartella") THEN
 '       MKDIR ("$HOME/cartella")
   ' END IF
END

PUBLIC SUB Label1_MouseDown()

 

END

PUBLIC SUB Button1_Click()

  Form1.Close
  FMain.Show

END

faccio notare che tutto ciò che ha a che fare con cartelle è stato commentato...
Titolo: Re: altro caso di non compattibilità
Inserito da: leo72 - 14 Dicembre 2010, 21:12:06
Un'altra domanda: hai per caso nella form un qualche widget a cui hai impostato nella barra delle proprietà un percorso per una quasivoglia cartella/file (tipo un'immagine o roba del genere)?
Titolo: Re: altro caso di non compattibilità
Inserito da: ira83 - 14 Dicembre 2010, 22:13:26
uhm... si immagine statica png e una dinamica gif  :-[
Titolo: Re: altro caso di non compattibilità
Inserito da: leo72 - 14 Dicembre 2010, 23:01:45
Beh.... togli quelle path...  :hatecomputer:




 ;D ;D



Titolo: Re: altro caso di non compattibilità
Inserito da: ira83 - 14 Dicembre 2010, 23:48:17
eheh.. pensavo le immagini venissero inglobate nell'eseguibile...
Titolo: Re: altro caso di non compattibilità
Inserito da: md9327 - 15 Dicembre 2010, 10:13:39
Se le vuoi nell'eseguibile, devi inserirle all'interno del progetto.
Titolo: Re: altro caso di non compattibilità
Inserito da: ira83 - 15 Dicembre 2010, 11:19:54
Be... sinceramente dovrebbero esserci infatti.... le ho sotto "Dati" nel menu di sinistra....
Ad ogni modo mal che vada nello script di installazione ci piazzo un wget immagini e il gioco è fatto no?
oggi faccio un po di prove... Grazie per le dritte
Titolo: Re: altro caso di non compattibilità
Inserito da: leo72 - 15 Dicembre 2010, 19:31:09
Ma il problema è appunto che se non tieni conto del bug delle variabili globali il tuo progetto non funziona. La cosa migliore è salvarle manualmente in una cartella specifica, così che il tuo progr le trovi su qualunque distro.
Titolo: Re: altro caso di non compattibilità
Inserito da: Ceskho - 18 Dicembre 2010, 14:51:21
A tempo dedito risorsi il problema indicando a wget la cartella in cui scaricare il file....trovi l'opzione spulciando il comando

Codice: [Seleziona]
man wget
Titolo: Re: altro caso di non compattibilità
Inserito da: ira83 - 19 Dicembre 2010, 13:33:48
scusate del ritardo ma sotto natale si è sempre di corsa...
Vi ringrazio immensamente, in quanto ho risolto...

Colgo l'occasione per porger gli auguri di buon natale a tutti voi...

Ciao Ciao..

ira