Ups, gleich mein erstes Posting total verhaut
Ich hoffe mein Source ist besser lesbar als mein Text:
Delphi-Quellcode:
--------------------[nichtvisuelle Kompo FlappError.pas]----------------------
PUBLISHED
PROPERTY Options: TOptions READ FOptions WRITE FOptions; // Da steckt Silent drinnen
PROPERTY EmailOptions: TEmailOptions READ FEmailOptions WRITE SetEmailOptions; // Da steckt die eMailadresse drinnen
...
PROCEDURE TFlappError.ShowErrorDLG(sShort, sLong: STRING); // Dialog zeigen
BEGIN
WITH fFlappErrorDlg DO
BEGIN
TRY
...
re_simple.Text := sShort; // RichEdit auf Formular
re_detail.Text := sLong; // RichEdit auf Formular
Caption := 'ERROR in ' + sFILENAME;
Showmodal;
...
FINALLY
...
END;
END;
END;
--------------------[Formular TfFlappErrorDlg ]----------------------
IMPLEMENTATION
USES FlappError;
....
PROCEDURE TfFlappErrorDlg.btn_eMailClick(Sender: TObject);
VAR
aMessage : STRING;
aBody : STRING;
BEGIN
TRY
aBody := (StringReplace(re_simple.Text, #13#10, '%0D%0A', [rfReplaceAll])) + '%0D%0A' +
(StringReplace(re_detail.Text, #13#10, '%0D%0A', [rfReplaceAll]));
aMessage := 'mailto:' + sEMAILADRESS + '?subject=' +
Application.Title + '&body=' + Trim(aBody);
ShellExecute(0, PChar('open'), PChar(aMessage), NIL, NIL, SW_SHOWNORMAL);
EXCEPT
IF NOT (opSilent) THEN
ShowMessage('Can not send an eMail');
END;
END;
sEMAILADRESS und
opSilent sind nun Variablen von "FlappError.pas", da ich von der Formularunit "TfFlappErrorDlg.pas" nicht auf die Properties
Options und
EmailOptions zugreifen kann.
so, dass wäre nun geschafft,
Armin
P.S Nun habe ich auch gelernt, dass man NIEMALS in der Vorschauansicht des Forums den Back-Button des Browsers drücken darf!
Armin P. Pressler