BCB 6 messagebox



  • Hi!

    Irgendwie is hier nen komischer bug....

    String Ende;
    Ende = "abcdefg";

    Application->MessageBox(Ende.c_str(),"blubba",0);
    

    So, das komische is jetzt, das wenn die MessageBox aufgerufen wird alles vor dem "d" und das "d" selber abgeschnitten werden und nicht ausgegeben werden, also nur noch efg ausgegeben wird

    Is das nen bug oder mach ich was falsch?

    Mfg
    Bennet



  • Wohl eher letzteres, möglicherweise an anderer Stelle in deinem Programm.
    Dein Beispiel funktioniert hier einwandfrei.


  • Mod

    Hallo

    habs mit meinem BCB 6 prof getestet

    und ich kann das was du sagst nicht nachvollziehen

    Ausgabe = abcdefg

    MfG
    Klaus



  • messg = Socket->ReceiveText();
    
    if(messg.Pos ("sndtxt:"))
    {
    int pos = messg.LastDelimiter("sndtxt:");
    AnsiString Ende = messg.SubString(pos + 1, messg.Length() - pos);
    
    Application->MessageBox(Ende.c_str(),"popo",0);
    }
    

    So mache ich das genau.... kann es irgendwie mit dem Substring was zu tun haben?



  • MessageBox(Ende.c_str(),"was auch immer");



  • ähh, da fehlen doch jetzt 2 Parameter und ich habe eben grad gesehen nach dem LastDelimiter und Substring dingens da, ab da geht es nicht mehr!

    Ab da gibt er nur noch efg aus!



  • MessageBox und TApplication::MessageBox sind zwei verschiedene, wenn auch ähnliche Sachen. Also lass dich von CrossKnight nicht verwirren, mit deinem Problem hat das nicht zu tun.

    Wenn ich dich richtig verstehe, dann möchtest du das ausgeben, was nach dem 'sndtxt:' kommt? Dann solltest du darauf achten, dass LastDelimiter die Position des ersten Zeichens des Suchbegriffes zurückgibt, nicht die des letzten Zeichens.


Log in to reply