So i am basically almost done with my C++ App Logic Wise tho the only thing i struggle with and wanna figure it is how to include a seperate class into my main class constructors >.>

Mostly due to the fact that currently in my Code my main Code has 2 Objects tho ErrorWin Object is right now the only one that exist twice as seperate Objects which itd like to fix >.>

So this is my first Object in my Main Function which just calls my DisplayWindow Function while my ErrorWin Object calls the Display Error Window Function :P

int main() {
  ErrorWindow ErrorWin;
  MainWindow MainWin;

  if (ProgramPath.empty()) {
    ErrorWin.DisplayErrorWindow();
    return Fl::run();
  }

  MainWin.DisplayMainWindow();
  return Fl::run();
}

Now the Main Issue is that only my First Text basically gets displayed in the Error Window even tho my switch Statement is set to display a different error text basically according to my callback but that obviously does not work due to theyre being seperate ErrorWin Objects :(

void MainWindow::CallbackSaveFile(Fl_Widget* Widget, void* Data) {
  MainWindow* MainWindowData = static_cast<MainWindow*>(Data);
  ErrorWindow ErrorWin;

  if (!MainWindowData->InputFile.empty()) {
    ...
  } else {
    ErrorWin.DisplayErrorWindow();
  }
}
  • Retro-Hax@feddit.orgOP
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 month ago

    Basically my Idea is/was to use 1 Function that being DisplayErrorWindow and have all the Errortexts basically inside it as nothing ever changes aside from the Text i couldve just used if statements :P
    But sadly it wiull only display the first Error Text and not any of the other Error Texts no matter what i modify and i did already check my if statement Logic inside the Function and nothings wrong on that Part :c

    • Consti@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 month ago

      Without more code it’s impossible to say what your problem is. Are you expecting a function to be called that isn’t? Use a debugger to go through if so.