es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La función de Call_back no está funcionando como lo hacía anteriormente.

El código de abajo dejó de funcionar y no sé qué hice con él. Por alguna razón, la llamada de retroceso no funciona. Las declaraciones de impresión sí aparecen, pero parece que simplemente fluyen a través de la llamada de retroceso.

fn wallet_check(main_win: &mut Window, mut s_wallet: StructWallet) {
    println!("Enter wallet check");
    let mut wall_group = fltk::group::Group::new(50, 90, 500, 300, "");
    wall_group.set_frame(FrameType::FlatBox);
    wall_group.end();
    wall_group.show();
    main_win.add(&wall_group);
    wall_group.redraw();
    wall_group.set_color(Color::by_index(2));
}

let wall_name = fltk::input::Input::new(220, 105, 170, 20, "Wallet Name:");
wall_group.add(&wall_name);
let mut btn_wall_verify = fltk::button::Button::new(220, 130, 60, 20, "Verify");
wall_group.add(&btn_wall_verify);
println!("Just before callback");
btn_wall_verify.set_callback(move |_| {
    let wall_name_clone = wall_name.clone();
    wallet_verify(s_wallet.clone());
    if s_wallet.StrucWalletName == wall_name_clone.value().to_string() {
        dialog::message(
            500,
            500,
            "This Wallet already exists in the database.  Please select another.",
        );
    }
    wall_group.hide();
});

}

Mo, si respondes esto, me gusta que me indiques la solución pero no me la des. Tus videos y tu ayuda son muy apreciados.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Es difícil determinar el problema exacto sin más contexto e información. Sin embargo, aquí tienes algunos pasos que puedes seguir para intentar resolver el problema:

    1. Verifica si todas las variables y funciones utilizadas en la llamada al call_back están definidas y declaradas correctamente.
    2. Verifica si hay algún error de sintaxis en el código que pueda estar impidiendo que el call_back se ejecute correctamente.
    3. Verifica si hay alguna condición de carrera o problema de concurrencia que pueda estar causando un comportamiento inesperado.
    4. Intenta ejecutar el código en un depurador para recorrer el call_back y ver dónde está fallando.
    5. Verifica si hay alguna actualización o cambios en las bibliotecas de Rust o FLTK que puedan estar afectando el código.

    Recuerda que la depuración es un proceso iterativo e incremental, por lo que puede que necesites varios intentos para identificar y solucionar el problema. ¡Buena suerte!

Comments are closed.