Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Problema cartelle
Forum - C# / VB.NET - Problema cartelle

Avatar
Thejuster (Member)
Guru^2


Messaggi: 1704
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 21:03
Martedì, 05/07/2016
Buonasera a tutti.

Mentre testavo oggi sul computer di un amica il mio progetto Mire avviato tramite Mono,
sono inciampato in un bel problema.

su windows, sono abituato che quando apro un file dall'OpenFileDialog mi riporta esempio:

C:\Cartella\Progetto.mireprj

successivamente il programma carica quello che gli server dalle varie cartelle.

Sul Mac o Mono, accade una cosa alquanto strana.
sottolineo che ho portato i miei sorgenti sul mac e compilati direttamente da monodevelop.

Il programma si apre correttamente, si avvia e ci si può lavorare sopra.
Ma quando vado a salvare o ad aprire tramite il Dialogo, anziché riportarmi la destinazione precisa
mi da qualcosa come:

temp/Content/data/Map/NomeMappa.mp2d

mentre non è così.

come posso risolvere questo problema?


PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1452
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 22:41
Martedì, 05/07/2016
In che senso non è così?

PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1704
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 0:10
Mercoledì, 06/07/2016
Nel senso che se provo ad aprire un file dal desktop del mac


Esempio "Mac\Desktop\Cartella1\Cartella2\File"

Ho provato a mostrare un messaggio della destinazione del file selezionato

ed appare


temp/Cartella2/File

la destinazione del file aperto non è esatta.
forse sul mac funziona diversamente.

Spiego meglio....

in pratica in Windows.
Siamo abituati ad usare esempio

C:\Cartella\Programma.exe

Ma su Mac come funziona??

Come diamine accedo ad una cartella con un indirizzo?

in Mire quando si apre o si crea un progetto, Ho due variabili che conterranno la destinazione completa del
percorso del file, ed il nome del progetto.

Codice sorgente - presumibilmente C# / VB.NET

  1. string project_path;
  2. string project_name;



Quindi giustamente, programmandolo su win, ero abituato a fare

Codice sorgente - presumibilmente Plain Text

  1. Mire.LoadMap(project_path + "\\" + project_name + "\\" map_name);



il risultato:
Su windows funziona, su mac non trova da dove viene aperto il file

appare tipo

temp/content/data\map\test.mp2d

mentre non è così.

come si può risolvere sta cosa?

Ultima modifica effettuata da Thejuster il 06/07/2016 alle 0:14


PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1452
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 2:40
Mercoledì, 06/07/2016
Da dove estrai project_path ?
Che componente usi per selezionare il file da aprire?

PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1704
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 8:44
Mercoledì, 06/07/2016

Il classico e semplicissimo metodo
Dell'open file Dialog.

Ottengo il SelectedPath
e FileName.

Ma ripeto che su windows non ho problemi, funziona.
E su mac che crea il problema.

Penso che su Mac gli indirizzi delle cartelle non sono uguali a quelle di windows.
per questo crasha




PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1452
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 12:08
Mercoledì, 06/07/2016
Dacci il percorso reale di un file e SelectedPath, FileName

PM Quote