Postada em 25/06/2010 10:12 hs
Bom dia amigos. O codigo abaixo eu peguei aqui no forum em Dicas. Quando abro o arquivo mais de uma vez da erro no sistema Windows, ti´po "... a memoria não pode ser read". Percebi que esse erro acontece quando abro arquivos pela segunda vez. Então tem algo residente. Preciso descarregar o que foi carregado, porem não ser como faze-lo. Já usei Nothing e não virou nada. Aguem pode me ajudar. Muito obrigado....Grande abraço '************************************************* 'no módulo Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
'no FORM, crie um command button Private Sub cmdHelp_Click()
Dim nomearq$, a, resultado
nomearq$ = "Cálculo.doc" 'nome do arquivo para rodar 'se existe o arquivo If Dir$(nomearq, vbArchive) <> "" Then 'Procura o executável dele a = FindExecutable(nomearq, App.Path, resultado) Select Case a Case 0: MsgBox "Memória insuficiente para realizar esta operação", vbCritical Case 31: MsgBox "Não há nenhum aplicativo associado para essa extensão <.pdf>", vbInformation Case "ERROR_FILE_NOT_FOUND": MsgBox "Arquivo especificado não pôde ser encontrado.", vbInformation Case "ERROR_PATH_NOT_FOUND": MsgBox "Caminho não encontrado.", vbInformation Case "ERROR_BAD_FORMAT": MsgBox "Executável inválido (non-Win32 .exe or error in .exe).", vbInformation Case Else 'se não deu nenhum erro, abre o arquivo ShellExecute a, "open", nomearq, "/open", App.Path, 0 End Select Else MsgBox "Arquivo especificado não pôde ser encontrado." & Chr(10) & nomearq, vbInformation End If
End Sub
|