Pregunta: | 58507 - ERROR EN EL EXE PERO NO EN EL PROYECTO |
Autor: | Ivan Rios Ramirez |
Tengo un problema con el EXE generado de mi proyecto por VB6, el programa que compile tiene la funcion de copiar archivos usando la API de windows (SHFileOperationA) al dar click en una imagen, el programa funciona perfectamente cuando lo corro desde VB6 pero cuando compilo el EXE y lo ejecuto por si solo Windows me marca un error diciendo que el programa debe cerrarse, mi SO es Windows XP SP2, el programa esta diseƱado para ser ejecutado desde la raiz de una unidad, tiene alguien idea de por que sucede esto???
aqui algo de codigo: Private Type SHFILEOPSTRUCT hWnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAnyOperationsAborted As Boolean hNameMappings As Long lpszProgressTitle As String End Type Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" _ (lpFileOp As SHFILEOPSTRUCT) As Long Private Const FO_COPY = &H2 Private Const FOF_SIMPLEPROGRESS = &H100 Private Const FOF_NOCONFIRMATION = &H10 Private Const FOF_NOCONFIRMMKDIR = &H200 Private Const FOF_ALLOWUNDO = &H40 Dim sh_op As SHFILEOPSTRUCT With sh_op .hWnd = Form1.hWnd .wFunc = FO_COPY .pFrom = Form1.File1.Path & "" & archivo & vbNullChar & vbNullChar .pTo = usb & "SO" & archivo & vbNullChar & vbNullChar .fFlags = FOF_SIMPLEPROGRESS Or FOF_ALLOWUNDO Or FOF_NOCONFIRMATION Or FOF_NOCONFIRMMKDIR End With SHFileOperation sh_op ' Es en esta ultima linea donde el EXE provoca el error que lo obliga a cerrarse NOTA: File1.Path = x:DLL usb = y: |
Respuesta: | Carlos Rojas |
Usa la api CopyFileA. |