visual programacion practicar para otra lenguaje for ejercicios ejemplos copiar comandos ciclo carpeta archivos vb6

programacion - ¿Cómo establecer el directorio de trabajo al depurar la aplicación VB6?



visual basic (5)

Estoy depurando un ejecutable VB6. El ejecutable carga dlls y archivos desde su directorio actual, cuando se ejecuta. Cuando se ejecuta en depurador, el directorio actual parece ser el dir de VB6.

¿Cómo configuro el directorio de trabajo para VB6?


"El directorio actual parece ser el directorio de VB6" solo cuando abre un proyecto usando Archivo-Abrir.

Ábralo haciendo doble clic en el archivo .vbp mientras tiene el IDE cerrado.


El directorio actual para cualquier programa, incluido vb6, se puede cambiar en las propiedades del acceso directo. Lo cambié a la raíz de mi árbol fuente, hace que usar File-Open sea más rápido.


La solución que he encontrado que funciona utiliza un Sub Main y comprueba si el programa se está ejecutando en el IDE.

Dim gISIDE as Boolean Sub Main() If IsIDE Then ChDrive App.Path ChDir App.Path End If '' The rest of the code goes here... End Sub Public Function IsIDE() As Boolean '' IsIDE = False ''This line is only executed if running in the IDE and then returns True Debug.Assert CheckIDE If gISIDE Then IsIDE = True End If End Function Private Function CheckIDE() As Boolean '' this is a helper function for Public Function IsIDE() gISIDE = True ''set global flag CheckIDE = True End Function


No parece ser una solución "lista para usar" para esto.

Tomado de The Old Joel en los foros de software

De todos modos ... para terminar con este tema ... la siguiente fue mi solución VB6: defino 2 símbolos en mi proyecto VB "MPDEBUG" y "MPRELEASE" y llamo a la siguiente función como la primera operación en la función de punto de entrada de mi aplicación.

Public Sub ChangeDirToApp() #If MPDEBUG = 0 And MPRELEASE = 1 Then '' assume that in final release builds the current dir will be the location '' of where the .exe was installed; paths are relative to the install dir ChDrive App.path ChDir App.path #Else '' in all debug/IDE related builds, we need to switch to the "bin" dir ChDrive App.path ChDir App.path & BackSlash(App.path) & "../bin" #End If End Sub


esto funcionara?

''Declaration Private Declare Function SetCurrentDirectory Lib "kernel32" _ Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long ''syntax to set current dir SetCurrentDirectory App.Path