¿ Cuándo se produce una violación de segmento en Gambas ? - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: ¿ Cuándo se produce una violación de segmento en Gambas ? (/thread-1059.html) |
¿ Cuándo se produce una violación de segmento en Gambas ? - Shell - 10-10-2022 Buenas!. Estoy ejecutando un test y me devuelve violación de segmento rápidamente. A ver como se depura eso. Es un error en tiempo de ejecución. Os adjunto el código. Lo primero que se me ocurre es que el array crece y crece. Código: Public Sub btnSelectDir_Click() En la primera función no uso el componente gb.util y en el siguiente si. Casi me da igual en resultado por eso lo del test. Por otra parte nadie recibe el valor devuelto por la función. Que podría ser un procedimiento que no devuelva valor. De un post explicado que es y con el lenguaje "C"..yikes! ..es broma. ¿Qué significa Violacion de Segmento? Algo común: Se produce cuando... Cita:- Intentar acceder una variable que ya fue liberada. El error se produce en Object.Call desde la primera vez. RE: ¿ Cuándo se produce una violación de segmento en Gambas ? - Shell - 10-10-2022 El problema es: - Se debe asignar el valor devuelto por Object.Call a una variable. Y la forma de llamarse. Código: Public Sub TestBenchMark(nombrefuncion As String, aelementos As String[]) Pero lo cierto es que aelementos ya es un array. Al final he dejado la función TestBenchmark de esta forma: Código: Public Sub TestBenchMark(nombrefuncion As String, aelementos As String[]) Es que tantas iteraciones eran demasiadas. La respuesta fue: Cita: Vamos, que es mejor usar el método que he definido que el que usa gb.Util para este método concreto. Si tenéis una ruta con tropecientos archivos y distintas extensiones os funcionará. Si son pocos igual. Mi problema es que de esos 9970 por lo menos existían 19 extensiones. RE: ¿ Cuándo se produce una violación de segmento en Gambas ? - vuott - 10-10-2022 (10-10-2022, 16:16)Shell escribió: Pero lo cierto es que aelementos ya es un array. ...en efecto el 3° parámetro formal aún quiere que el tipo de dato u objeto pasado se reduzca a un array. Por lo tanto, si se pasa un array, tendrá que ser en este caso un array de... array. RE: ¿ Cuándo se produce una violación de segmento en Gambas ? - vuott - 10-10-2022 (10-10-2022, 20:47)vuott escribió: en este caso un array de... array En efecto... mira este ejemplo: Código: Public Sub Main() RE: ¿ Cuándo se produce una violación de segmento en Gambas ? - Shell - 12-10-2022 (10-10-2022, 23:04)vuott escribió: En efecto... mira este ejemplo: Gracias, en el ejemplo se ve mejor. |