MessegaDlg funktioniert nicht



  • Hi,

    der Compiler gibt folgendes aus:

    Unit1.cpp(177): E2285 Could not find a match for 'MessageDlg(char *,TMsgDlgType,undefined,int)'

    was soll das bedeuten (die Hilfe hilft nicht wirklich)

    [C++ Error]

    bool norbchk(bool& nu, bool& ei, bool& zw)
    {
      bool xy = true;
    
      if (!nu && !ei && !zw) MessageDlg("Treffen Sie eine Auswahl!", mtInformation, TMsgDlgButtons() << mbOK, 0);
      else xy = false;
      return xy;
    }
    


  • http://www.marquardtnet.info/cecke/programme.4/messagebox.4h/4h_messagebox.html

    Application->MessageBox("Treffen Sie eine Auswahl","Auswahl",MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL);
    


  • 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...


Anmelden zum Antworten