PDA

Visualizza la versione completa : [DELPHI] Percorsi Intranet di file condivisi


vicky
15-11-2006, 15:23
Scusate la domanda completamente idiota:
quando installo un'applicativo in una rete intranet metto l'eseguibile sul server(assieme a immagini, db, testi); sui client copio lo stesso eseguibile (e la libreria necessaria per gestire, ad esempio, il db). I percorsi indicati all'interno degli eseguibili (sul server e sul client)per richiamare immagini, db o altro sono uguali? (nome_server:percorso)
oppure devo preparare due eseguibili diversi?
:ciauz:

alka
15-11-2006, 15:40
Se l'eseguibile determina il percorso dei file correttamente, usando un riferimento relativo, non dovrebbe esserci il bisogno di modificare nulla. :master:

vicky
15-11-2006, 17:33
Perché mi succede questo?

Eseguibile in -> E:\cartella
Nome server -> portatilevicky
Immagine sole.jpg in -> E:\cartella\bkg\sole.jpg



var ImgPath : string;

begin
ImgPath := 'portatilevicky:E:\cartella\bkg\';
imgSole.Picture.LoadFromFile(ImgPath + 'sole.jpg');
end;



ottengo questo messaggio di errore quando lancio l'eseguibile:


First chance exception at $7C812A5B. Exception class EFOpenError with message 'Cannot open file "E:\cartella\portatilevicky:E:\cartella\bkg\sole.jp g". La sintassi del nome del file, della directory o del volume è incorretta'.


:confused:

alka
15-11-2006, 17:35
L'errore è indicativo: il percorso è in effetti errato. :)

Hai confuso forse il formato usato da FireBird con quello delle locazioni di rete Windows, che invece si esprime così:

\\nomepc\percorso\sottodirectory\nomefile.ext

Ciao! :ciauz:

vicky
15-11-2006, 17:45
quindi dovrei scrivere:

\\portatilevicky\e:\cartella\bkg\sole.jpg

vicky
15-11-2006, 17:47
la risposta è:


First chance exception at $7C812A5B. Exception class EFOpenError with message 'Cannot open file "E:\cartella\portatilevicky\e:\cartella\bkg\sole.jp g". Impossibile trovare il percorso specificato'. Process prova.exe (3192)

:(

alka
15-11-2006, 22:36
No, se vuoi accedere ad una condivisione di rete, devi usare la forma
\\nomecomputer\condivisione\sottodirectory\nomefil e.ext
mentre se la condivisione è mappata come "unità di rete", quindi associata ad una lettera, userai la lettera medesima
Z:\sottodirectory\nomefile.ext

vicky
15-11-2006, 22:44
Ciao! quando scrivi

\\nomecomputer\condivisione\sottodirectory\nomefil e.ext
per 'condivisione' cosa intendi? Mi puoi fare un banale esempio?
:)

alka
16-11-2006, 10:11
Originariamente inviato da vicky
per 'condivisione' cosa intendi? Mi puoi fare un banale esempio?

Non è un elemento specifico della programmazione, ma riguarda il file system e la composizione delle reti Windows.

Per accedere ad una locazione specifica su una macchina, devi andare sulla macchina stessa, selezionare la cartella, accedere alla scheda Condivisione e inserire tutti i dati necessari alla creazione - appunto - di una condivisione. Si associano diritti e protezioni ad un nome che sottointende un determinato percorso, raggiungibile poi da altre macchine (a seconda delle impostazioni).

La condivisione e le sue sottodirectory possono essere poi "mappate" su lettere di unità per un accesso più rapido.

Non capisco comunque a cosa possa servirti un percorso di questo tipo, espresso in modo "fisso". :confused:

vicky
16-11-2006, 12:47
Ma allora qual'è il percorso relativo che devo usare per vedere :
- i file
e
- il database
sul server ?
(Non funziona NIENTE di quello che ho provato, o meglio le diverse combinazioni favoriscono la visibilità sul server o sul client in maniera per me assolutamente casuale)
:confused: :( :oVVoVe: :bhò:

Loading