unit MessageEnvelopes_AddEnvelope; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TMessageEnvelopes_AddEnvelopeForm = class(TForm) Label1: TLabel; Label2: TLabel; eMarker: TEdit; ePassword: TEdit; bOk: TButton; bCancel: TButton; private { Private declarations } public { Public declarations } end; var MessageEnvelopes_AddEnvelopeForm: TMessageEnvelopes_AddEnvelopeForm; function AddAESEnvelope(var AMarker, APassword: string): Boolean; function UpdateAESEnvelope(var AMarker, APassword: string): Boolean; implementation {$R *.dfm} function ShowEnvelopeForm(AUpdateMode: Boolean;var AMarker, APassword: string): Boolean; begin with TMessageEnvelopes_AddEnvelopeForm.Create(Application) do try if AUpdateMode then Caption := 'Update Envelope' else Caption := 'Add Envelope'; eMarker.Text := AMarker; ePassword.Text := APassword; Result:= ShowModal = mrOk; if Result then begin AMarker := eMarker.Text; APassword := ePassword.Text; end; finally Release; end; end; function AddAESEnvelope(var AMarker, APassword: string): Boolean; begin Result:= ShowEnvelopeForm(False,AMarker,APassword); end; function UpdateAESEnvelope(var AMarker, APassword: string): Boolean; begin Result:= ShowEnvelopeForm(True,AMarker,APassword); end; end.