Newsgroup: it.comp.appl.access
Titolo: Controllo Immagine

Al caricamento di una frm tipo pop up in cui è inserito un controllo
immagine eseguo il seguente codice per assegnare al controllo la foto che
cambia a seconda del valore letto su un controllo invisibile all'interno
della frm stessa.Il mio problema è che tale operazione è lentissima.
Sul mio PC con ben 1 Giga di ram ci mette circa 5 secondi.Ed anche alla
chiusura della frm il puntatore del mouse mi resta a clessidra per una
vita.Al lavoro dove dovrebbe essere utilizzato il mio proggetto e dove i pc
sono quello che sono cioè non precisamente all'ultimo grido non oso
immaginare quanto l'utente dovrà aspettare il caricamento di queste
benedette foto.
Avete qualche suggerimento per aumentare la velocità di caricamento delle
foto?
P.S.
La routine parte sull'evento Load della frm.
Le foto sono in jpg sui 400 Kb a testa.
La propietà TipoImmagine è settata a Collegata
La propietà ModalitàRidimensionamento è settata a Zoom
Sul registro di configurazione la seguente entry è settata a no
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared\Tools\Graphics
Filters\Import\JPEG\Option
SO Windows 2000 PRO
Access 97
SunRex
Sub CaricaFoto()
Dim intPath As Integer
Dim strPath As String
Dim strPathFoto As String
    If IsNull(Me.txtPathFoto.Value) Then
    Me.imgCampioni.Picture = "D:\MioProggetto\Immagini\Default.jpg"
    Else
strPathFoto = txtPathFoto.Value
strPath = "D:\MioProgetto\Immagini"
strPath = strPath & "\" & strPathFoto
   intPath = VarType(strPath)
    If intPath = 1 Then
            MsgBox "Nessuna foto presente in archivio.", vbInformation
Exit Sub
 Else
     If FileExists((strPath)) = False Then
            MsgBox "Nessuna foto presente in archivio.", vbInformation
            Exit Sub
            Else
    End If
        Me.imgCampioni.Picture = strPath
    End If
    End If
End Sub

 ha scritto nel messaggio
news:txPZa.39528$an6.1...@news1.tin.it...

Strano io uso le immagini nello stesso modo ma le carica in meno di due
secondi .
Stefano

 wrote in message
txPZa.39528$an6.1...@news1.tin.it...

Poiché non hai postato come è fatta la funzione FileExists, potrebbe essere
quella che compromette la performance del processo; io proverei a sostituire
     If FileExists((strPath)) = False Then
con:
    If Dir(strPath) = "" Then
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Roberto
Ho provato a sostituire If FileExists((strPath)) = False Then con If
Dir(strPath) = "" Then
ma non noto cambiamenti nella velocità.pensavo cmq che forse la velocità di
caricamento
è limitata non tanto dal codice quanto dalla dimensione delle foto (circa
400Kb).Forse
dovrò diminuirla di 2-300 Kb.In basso ti riporto la funzione FileExist.
Buon Ferragosto ;)
SunRex
La funzione FileExist
Public Function FileExists(sFilename As String) As Boolean
    Const ErrDiskNotReady = 71
    On Error GoTo ErrExit
    FileExists = CBool(Len(Dir(sFilename)) <> 0)
    Exit Function
ErrExit:
    FileExists = False
    If (Err.Number = ErrDiskNotReady) Then
        If MsgBox("Inserire il floppy!", _
            vbExclamation + vbOKCancel) = vbOK Then
        Resume
    Else
        Exit Function
    End If
Else
   MsgBox Err.Description
End If
Exit Function
End Function

 wrote in message
vav_a.82415$cl3.2...@news2.tin.it...

A occhio non mi sembra che la lentezza possa essere imputata alla funzione
FileExists; comunque prova solo con la funzione Dir.
