SCAR Code:
var
CrimeForm: TForm;
CFormYesBtn, CFormNoBtn: TButton;
Description: TLabel;
procedure ButtonClicked(Sender: TObject);
begin
case Sender of
CFormYesBtn : CrimeForm.ModalResult:= 1;
CFormNoBtn : CrimeForm.ModalResult:= 2;
end;
end;
procedure InitForm;
begin
CrimeForm := CreateForm;
CrimeForm.Left := 300;
CrimeForm.Top := 260;
CrimeForm.Width := 300;
CrimeForm.Height := 200;
CrimeForm.Caption := 'Option!';
CrimeForm.Color := ClWhite;
CFormYesBtn := TButton.Create(CrimeForm);
CFormYesBtn.Parent := CrimeForm;
CFormYesBtn.Left := 10;
CFormYesBtn.Top := 125;
CFormYesBtn.Height := 30;
CFormYesBtn.Width := 100;
CFormYesBtn.Caption := 'Yes';
CFormYesBtn.OnClick := @ButtonClicked
CFormNoBtn := TButton.Create(CrimeForm);
CFormNoBtn.Parent := CrimeForm;
CFormNoBtn.Left := 145;
CFormNoBtn.Top := 125;
CFormNoBtn.Height := 30;
CFormNoBtn.Width := 100;
CFormNoBtn.Caption := 'No';
CFormNoBtn.OnClick := @ButtonClicked
Description := TLabel.Create(CrimeForm);
Description.Parent := CrimeForm;
Description.Top := 60;
Description.Left := 10;
Description.Height := 100;
Description.Width := 250;
// Description.WordWrap := True;
Description.Caption := 'You got caught, and the judge sentenced you to gaol for 3 Turns.'
Description.Font.Size := 10;
Description.Font.Color := 0;
Description.Font.Name := 'Comic Sans MS';
Writeln('end of InitForm');
end;
procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;
procedure ShowFormModal;
begin
CrimeForm.ShowModal;
end;
procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
Function OpenForm: Boolean;
begin
SafeInitForm;
SafeShowFormModal;
case CrimeForm.ModalResult of
1 : Result := True;
2 : Result := False;
end;
end;
begin
OpenForm;
end.