Visual Basic - El ejecutable generado por VB no se puede ejecutar

Life is soft - evento anual de software empresarial
 
Vista:

El ejecutable generado por VB no se puede ejecutar

Publicado por Share (2 intervenciones) el 09/09/2010 19:15:43
Esoy haciendo un joiner en VB6, que funciona con un programa que junta los archivos y otro, el stub, que al ser juntado por el primer programa ejecuta los otros que los había juntado. No sé si me explico bien, así que más abajo les dejo el código del segundo programa, ya que con el primero funca todo bien. El problema está en que al darle en generar proyacto1.exe, anda todo bien hasta que al ejecutarlo me muestra el típico cartel "Windows no tiene acceso al dispositivo, ruta de acceso o archivo especificado. Puede que no tenga los permisos apropiados para tener acceso al elemento." Mi cuenta es administrador, así que no sé que le pasa. Si alguien sabe por favor ayúdeme, que me gustaría queel programa funcione.
Código del programa(está compuesto por un form1 con la propiedad visible=false):

Dim Contenido As String, Busqueda As String, Busqueda2 As String, Arch() As String
Private Sub Form_Load()
App.TaskVisible = False

Open App.Path & App.EXEName & ".exe" For Binary Access Read As #1
Contenido = Space(LOF(1))
Get #1, , Contenido

Busqueda = InStr(1, Contenido, "SM|JOINER")
If Busqueda = 0 Then
MsgBox ("Este archivo no esta joineado por el joiner de mal97")
End
Else
Arch = Split(Contenido, "SM|JOINER")

Open App.Path & "tempsplit1.exe" For Binary Access Write As #2
Put #2, , Arch(1)

Open App.Path & "tempsplit2.exe" For Binary Access Write As #3
Put #3, , Arch(2)

Close #1
Close #2
Close #3

Shell App.Path & "tempsplit1.exe"
Shell App.Path & "tempsplit2.exe"
End If
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:El ejecutable generado por VB no se puede ejecu

Publicado por XHkrElite (518 intervenciones) el 10/09/2010 05:26:44
el problema esta en las rutas app.path:

Shell App.Path & "tempsplit1.exe"

app.path es el path del programa actual o sea tu programa lo mismo pasa en la otra instruccion. por eso te dice que batalla con la ruta. ponle una ruta especificada a cada archivo y a ver que pasa

unas pequeñas modificaciones a tu code:
asi quedo tu code:(una raiz antes de temp....)

Dim Contenido As String, Busqueda As String, Busqueda2 As String, Arch() As String
Private Sub Form_Load()
App.TaskVisible = False

Open App.Path & App.EXEName & ".exe" For Binary Access Read As #1
Contenido = Space(LOF(1))
Get #1, , Contenido

Busqueda = InStr(1, Contenido, "SM|JOINER")
If Busqueda = 0 Then
MsgBox ("Este archivo no esta joineado por el joiner de mal97")
End
Else
Arch = Split(Contenido, "SM|JOINER")

Open App.Path & " \tempsplit1.exe" For Binary Access Write As #2
Put #2, , Arch(1)

Open App.Path & " \tempsplit2.exe" For Binary Access Write As #3
Put #3, , Arch(2)

Close #1
Close #2
Close #3

Shell App.Path & "\ tempsplit1.exe"
Shell App.Path & "\ tempsplit2.exe"
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar