Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    234

    Shell funziona solo all'apertura del programma

    Ciao ragazzi, sto utilizzando una semplice shell per un file .bat creato da me contenente questa sola riga:

    imgcon -bmp preview.png


    La shell è questa:

    codice:
    Private Sub cmdShell_Click()
    Shell App.Path & "\Conversion.bat", vbNormalFocus
    End Sub

    Il problema è questo: prima dell'avvio della shell io avvio un semplice comando FileCopy che mi copia un file .png e lo rinomina preview.png (vedi riga file .bat) dopodichè avvio la shell ma il programma non funziona. Provando ad avviare direttamente la shell il programma funziona...xkè succede questo? come risolvere?

    Grazie anticipatamente

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Definisci "non funziona"... :rollo:
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    234
    beh il programma dovrebbe convertire il file preview.png in un file .bmp ma assolutamente non lo fa dopo aver avviato il comando filecopy. Invece se avvio la shell appena apro il programma tt funge...

  4. #4
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, cosi è un po' difficile aiutarti..prova a postare la parte di codice dove copi il file e lanci la funzione shell..
    Jupy

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    234
    ok ecco qui

    codice:
    If LabelFormato = ".bmp" Then
    FileCopy CommonDialog1.FileName, App.Path & "\preview.bmp"
    Else
    
    FileCopy CommonDialog1.FileName, App.Path & "\preview.png"
    
    Sleep 1500
    
    Shell App.Path & "\Conversion.bat"
    
    End If

  6. #6
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, è una questione di directory e/o unità predefinita. Per caso tu hai vb installato in un disco e il progetto in altro disco? In tal caso prova in questa maniera:
    [CODE]
    If LabelFormato = ".bmp" Then
    FileCopy CommonDialog1.FileName, App.Path & "\preview.bmp"
    Else
    ChDrive "LetteraUnitàDiLavoro"
    FileCopy CommonDialog1.FileName, App.Path & "\preview.png"
    Shell App.Path & "\Conversion.bat"
    End If
    [CODE]
    L'api Sleep non serve.
    Altrimenti dovresti usare l'api ShellExecute, in questo caso potresti usare direttamente il programma imgcon e gli passi tutti i parametri che ti servono...
    Jupy

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    234
    ciao, il programma lavora su un'unica unità comunque ho provato la tua soluzione e non funziona. Dove trovo un esempio dell'api shellexecute? (non sono molto pratico )

    grazie per la pazienza

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    234
    allora ho modificato il codice in questa maniera

    codice:
    Private Sub Command1_Click()
    ShellExecute Me.hwnd, "Open", "Conversion.bat", 1, App.Path, SW_SHOW
    End Sub
    
    Private Sub Command2_Click()
    If LabelFormato = ".bmp" Then
    FileCopy CommonDialog1.FileName, App.Path & "\preview.bmp"
    Else
    
    FileCopy CommonDialog1.FileName, App.Path & "\preview.png"
    
    Call Command1_Click
    
    End If
    End sub
    ora succede che comunque avviando Command2 la shell (command1) non la esegue però anche dopo aver avviato command2 se avvio manualmente command1 esegue la shell. In conclusione dopo il comando FileCopy la shell non va...soluzione?

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    234
    scusate se posto la terza volta consecutiva ma ora improvvisamente il codice precedente funziona

    grazie 1000

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.