E-Mail Programmfehler...wieso?



  • Wieso bekomm ich auf einmal diesen Fehler in der neuen E-Mail??

    {\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil MS Sans Serif;}}\viewkind4\uc1\pard\f0\fs16 \par }

    benutze dazu diesen Code....

    TStringStream *ts = new TStringStream("");
      Form1->RichEdit1->Lines->SaveToStream(ts);
      String mailto = "mailto:"+Edit1->Text+"?subject="+Edit2->Text+"&body=";
      ts->Position = 0;
      mailto += ts->ReadString(ts->Size);
      ShellExecute(NULL,"open", mailto.c_str(), 0, 0, SW_SHOW);
      delete ts;
    

    vorher hat es immer geklappt das er mir das was im RichEdit Feld stand in den E-Mail Body kopiert hat, aber nun is alles futsch, seitdem ich wohl den Splashscreen drinne hab, hab es aber erst jetzt bemerkt!!

    Hmm weiß da jemand weiter??? Danke im Voraus...



  • is das ´n Fehler oder wird der body einfach so wiedergegeben?

    Versuch mal Anstelle vom RichEdit ein Memo.
    (Speichere mal einen leeren RichEdit Text ab, lade ihn mit dem notepad-editor.
    (C:\WINDOWS\NOTEPAD.EXE)
    Speichere mal einen leeren Memo Text ab und lade ihn mit dem NotePad-Editor, dann siehst du den unterschied.)

    Hoffe ahb alles richtig verstanden,
    J0



  • Also, im Body steht z.B. Hallo Michael....!!
    Genau das sollte auch mit in die E-Mail wiedergegeben werden!! Klappte auch bis vor kurzem noch einwandfrei! Doch nun nimmt der diesen Satz da ganz oben mit in die E-Mail obwohl was anderes im Memo Feld is!

    So, habe das RichEdit1 in Memo1 geändert und passiert ist soviel, das ich absolut nix mehr angezeigt bekomme! Also der Body der E-Mail is nun leer!!

    Oder gibt es noch ne andere Variante wegen der Bodyfunktion??



  • Wieso gehst Du den Umweg über einen Stream ?
    Geht das bei Dir so nicht ?

    String mailto="mailto:"+Edit1->Text+"?subject="+Edit2->Text+"&body="+Form1->RichEdit1->Lines->Text;
    


  • Das ist kein Fehler, das ist sogenannter RichText... ein spezielles ASCII-Format welches Formatierungen speichern kann. Das liegt daran, dass du direkt über Lines-> zugreifst und ein RichEdit verwendest.

    Schau dir die Eigenschaft PlainText von TRichEdit genauer an.

    -junix



  • ja, also ich hab ja im RichEdit1 Plaintext = false also kann es daran nicht liegen oder?

    Und so kommt auch der Fehler nicht mehr, aber nimmt auch die Zeilen aus dem RichEdit1 nicht mit in den E-Mail body mit rein.... komisch komisch irgendwie...

    nicht das ich mir nun das prog zerschossen habe



  • tschuldige...meinte plaintext = true....



  • Was ist mit Peters (meiner Meinung nach berechtigten) Vorschlag?



  • String mailto="mailto:"+Edit1->Text+"?subject="+Edit2->Text+"&body="+Form1->RichEdit1->Lines->Text;
      ShellExecute(NULL,"open", mailto.c_str(), 0, 0, SW_SHOW);
    

    dat will ebenfalls nicht klappen... also der Body bleibt dann leer... nur meine Standard eingestellte Signatur für jede E-Mail ist noch da!!

    Sonst würde auch die entfernt sein und nur der text vom RichEdit1 Feld drinne sein!!!

    Wundert mich total, das es nicht klappt, obwohl der Quelltext logisch und funktional ist...



  • kann ess ein, das ich in der

    ShellExecute(NULL,"open", mailto.c_str(), 0, 0, SW_SHOW);
    

    nen Fehler habe oder bin ich nur zu dumm dazu?? *g*
    hmm...mich wundert das irgendwie....welche Eigenschaften muss das RichEdit1 denn noch haben oder nicht haben dürfen??



  • Original erstellt von <DUDE>:
    obwohl der Quelltext logisch und funktional ist...

    So funktional dann wohl auch wieder nicht, was ? 😃

    Mach einfach alles so wie du es hattest und sei dir bewusst das ein RichEdit nunmal auch Formatierungsanweisungen mitspeichert. Die sind dazu da damit du
    auch Textteile bunti bunti, fetti und kursivi angezeigt bekommt in einem Editor
    der richtext lesen kann. Um die Rauszubekommen benutze plaintext = true oder direkt ein Memo Feld.



  • Original erstellt von <DUDE>:
    Wieso bekomm ich auf einmal diesen Fehler in der neuen E-Mail??

    Vermutlich, weil dein Email-Programm mit dem RichText-Format des RichEdit nicht klarkommt. Outlook Express kann das, das normale Outlook bzw. das von diesem benutzte MS Word scheinbar nicht.

    Für alle anderen: der Umweg über TStringStream dient gerade dazu, die RichText-Formatierungen mit zu übernehmen.


Anmelden zum Antworten