MessegaDlg funktioniert nicht



  • funktioniert nicht folgender

    Application->MessageBox("Bitte treffen Sie eine Auswahl!","Enneagra - Keine Auswahl getroffen..",MB_OK|MB_ICONINFORMATION|MB_TASKMODAL);
    

    bringt folgenden Fehler:

    [C++ Error] Unit1.cpp(177): E2034 Cannot convert 'long' to 'TMessageButtons'
    [C++ Error] Unit1.cpp(177): E2342 Type mismatch in parameter 'Buttons' (wanted 'TMessageButtons', got 'long')



  • Was für eine Anwendung?
    Welche Umgebung?



  • bdb6

    int aa = 0, bb = 0, wu = 0, erg[9];
    bool ueberlauf = false, rb0 = true, rb1 = false, rb2 = false, norb = false;
    AnsiString ff = "";
    //Initialisierung------------------------------------------------------------
    
    void __fastcall Tmainform::FormCreate(TObject *Sender)
    {
      bckgrnd_image->Picture->LoadFromFile("D:\\Programme\\Borland\\CBuilder6\\Projects\\Enneagramm\\enneagramm_bgrnd.bmp");
      text_fragen->Visible = false;
    }
    //Programm schliessen--------------------------------------------------------
    
    void __fastcall Tmainform::but_beendenClick(TObject *Sender)
    {
      Close();
      warningform->Close();
    }
    //Ergebnis anzeigen----------------------------------------------------------
    
    void showerg()
    {
    
    }           
    // Kein Radiobutton Checked?-------------------------------------------------
    
    bool norbchk(bool& nu, bool& ei, bool& zw)
    {
      bool xy = true;
    
      if (!nu && !ei && !zw) mainform->MessageBox("Bitte treffen Sie eine Auswahl!","Enneagra - Keine Auswahl getroffen..",MB_OK|MB_ICONINFORMATION|MB_TASKMODAL);
      else xy = false;
      return xy;
    }
    //Eingabe weiterleiten und ueberpruefen--------------------------------------
    
    int rbwert(int& nu, int& ei, int& zw)
    {
      int wert = 0;
    
      if (nu) return wert;
      if (ei) return (wert+1);
      if (zw) return (wert+2);
    }
    //Frage auswaehlen :: a zuruecksetzen (true = SetBit)------------------------
    
    bool uebrlaufa(int& a, bool& q)
    {
      if (a == 8) q = true;
      else q = false;
      return q;
    }
    //Frage auswaehlen (b)-------------------------------------------------------
    
    int questb(int& a, int& b)
    {
      if (a != 8) return b;
      if (a == 8) if (b != 9)
        {
          ++b;
          return b;
        }
        if (b == 9) showerg();
    }
    //frage auswaehlen (a)-------------------------------------------------------
    
    int questa(int& a, bool& u)
    {
      if (u) a = 0;
      else ++a;
      return a;
    }
    //Funktion Weiter button-----------------------------------------------------
    
    void next_but()
    {
      if (norbchk(rb0, rb1, rb2)) return;
      wu = rbwert(rb0, rb1, rb2);
      erg[aa] += wu;
      ueberlauf = uebrlaufa(aa, ueberlauf);
      aa = questa(aa, ueberlauf);
      ff = fragen_typ[aa][bb];
      if (ff == "") next_but();                	  //falls kein Satz vorhanden
      bb = questb(aa, bb);
    }
    //Weiter Button--------------------------------------------------------------
    
    void __fastcall Tmainform::but_weiterClick(TObject *Sender)
    {
      rb0 = rbut_0->Checked;
      rb1 = rbut_1->Checked;
      rb2 = rbut_2->Checked;
      next_but();
      text_fragen->Text = ff;
      rbut_0->Checked = false;
      rbut_1->Checked = false;
      rbut_2->Checked = false;
    }
    //Fragebogen starten---------------------------------------------------------
    
    void __fastcall Tmainform::but_startClick(TObject *Sender)
    {
      pan_answer->Visible = true;
      but_cancel->Visible = true;
      but_start->Visible = false;
      but_weiter->Visible = true;
      text_fragen->Visible = true;
      text_fragen->Text = fragen_typ[aa][bb];
    }
    //Abbrechen Button-----------------------------------------------------------
    
    void __fastcall Tmainform::but_cancelClick(TObject *Sender)
    {
      pan_answer->Visible = false;
      but_cancel->Visible = false;
      but_start->Visible = true;
      but_weiter->Visible = false;
      text_fragen->Visible = false;
      ueberlauf = false;
      aa = 0;
      bb = 0;
    }
    //OnEnter->Weiter------------------------------------------------------------
    
    void __fastcall Tmainform::but_weiterKeyDown(TObject *Sender, WORD &Key,
          TShiftState Shift)
    {
      if (Key == VK_RETURN) next_but();
    }
    


  • Hallo

    das muß funktionieren

    Application->MessageBox("Bitte treffen Sie eine Auswahl!","Enneagra - Keine Auswahl getroffen..",MB_OK|MB_ICONINFORMATION|MB_TASKMODAL);
    

    darfst MessageBox nicht als Methode von Form aufrufen.

    bis bald
    akari



  • irgendwie funzt das nich



  • mainform->MessageBox != Application->MessageBox
    


  • mainform->MessageBox ist falsch

    irgendwie hatte ich

    Application->MessageBox

    geschrieben...



  • HAB ich - funzt trozdem nicht



  • b43r_3oo3 schrieb:

    HAB ich - funzt trozdem nicht

    Welche Fehlermeldung ???



  • diese:

    [C++ Error] Unit1.cpp(179): E2034 Cannot convert 'long' to 'TMessageButtons'
    [C++ Error] Unit1.cpp(179): E2342 Type mismatch in parameter 'Buttons' (wanted 'TMessageButtons', got 'long')

    habs nach folgendem Schema beachtet:

    - MSDN
    - FunktionX



  • Und warum schreibst du nicht

    Application->
    

    vor

    MessageBox("Bitte treffen Sie eine Auswahl!","Enneagra - Keine Auswahl getroffen..",MB_OK|MB_ICONINFORMATION|MB_TASKMODAL);
    


  • HAAAAAB ICH DOCH



  • MB_OK|MB_ICONINFORMATION|MB_TASKMODAL
    

    So einfach geht das nicht! schau nochmal in die Hilfe!!



  • Hallo

    @ VergissEs : und was sollte daran falsch sein?

    @ b43r_3oo3 : Wenn du uns nicht einfach auf dem Arm nehmen willst... dann machst du definitiv etwas falsch. Der Aufruf an sich ist korrekt.

    bis bald
    akari



  • Ich kann es einfach nicht nachvollziehen ...

    Application->MessageBox("Bitte treffen Sie eine Auswahl!","Enneagra - Keine Auswahl getroffen..",MB_OK|MB_ICONINFORMATION|MB_TASKMODAL);
    

    funktioniert wunderbar.

    Versuch mal:

    MessageBox(NULL,"Bitte treffen Sie eine Auswahl!","Enneagra - Keine Auswahl getroffen..",MB_OK|MB_ICONINFORMATION);
    


  • Es wird wohl daran liegen, dass er das in Eclipse machen wird



  • so geht es auch nicht:

    Application->MessageBox("Make sure the music is playing.", "CD PLayer Instructions", MB_OK);



  • Vermutlich stimmt an deiner Umgebung etwas nicht (nicht mehr) Eclipse??



  • nein ich benutze immer noch bcb6.. im Übrigen sollte dies auch mit cdt (eclipse) funzen, vorraussetzung, man bindet die libraries der winsdk gescheit ein...



  • im Übrigen sollte dies auch mit cdt (eclipse) funzen, vorraussetzung, man bindet die libraries der winsdk gescheit ein...

    Nein, da es sich um Funktionalität der VCL handelt, die erstmal mit dem WIN SDK nichts zu tun hat (im Hintergrund wird natürlich die WIN 32 API benutzt). Damit das geht ist die VCL einzubinden


Anmelden zum Antworten