@@ -395,6 +395,8 @@ TfrmMain = class(TForm)
395
395
procedure actCalcBenchmarkExecute (Sender: TObject);
396
396
procedure actSystemSettingsExecute (Sender: TObject);
397
397
procedure actSystemExitExecute (Sender: TObject);
398
+ procedure FormCloseQuery (Sender: TObject; var CanClose: Boolean);
399
+ procedure cbTreatPeriodicClick (Sender: TObject);
398
400
private
399
401
Project : TXRCProjectTree;
400
402
LFPSO: TLFPSO_Base;
@@ -582,8 +584,8 @@ procedure TfrmMain.OnFitUpdateMsg(var Msg: TMessage);
582
584
begin
583
585
msg_prm := PUpdateFitProgressMsg(Msg.WParam);
584
586
lsrConvergence.AddXY(msg_prm.Step, msg_prm.BestChi);
585
- if chFittingProgress.LeftAxis.Maximum < msg_prm.BestChi then
586
- chFittingProgress.LeftAxis.Maximum := 1.1 * msg_prm.BestChi;
587
+ // if chFittingProgress.LeftAxis.Maximum < msg_prm.BestChi then
588
+ // chFittingProgress.LeftAxis.Maximum := 1.1 * msg_prm.BestChi;
587
589
588
590
589
591
spChiSqr.Caption := FloatToStrF(msg_prm.BestChi, ffFixed, 8 , 4 );
@@ -813,7 +815,11 @@ procedure TfrmMain.ProjectItemDeleteExecute(Sender: TObject);
813
815
if IsModel and IsItem then
814
816
DeleteModel(LastNode, LastData);
815
817
if IsData and IsItem then
818
+ begin
819
+ if LastData = Project.LinkedData then
820
+ Project.LinkedData := nil ;
816
821
DeleteData(LastNode, LastData);
822
+ end ;
817
823
if IsFolder then
818
824
DeleteFolder(LastNode);
819
825
if IsExtension then
@@ -1554,6 +1560,7 @@ procedure TfrmMain.FinalizeCalc(Calc: TCalc);
1554
1560
var
1555
1561
Hour, Min, Sec, MSec: Word;
1556
1562
begin
1563
+ RescaleChart;
1557
1564
PlotResults(Calc.Results);
1558
1565
DecodeTime(Now - StartTime, Hour, Min, Sec, MSec);
1559
1566
spnTime.Caption := Format(' Time: %d.%3.3d s.' , [60 * Min + Sec, MSec]);
@@ -1816,7 +1823,7 @@ procedure TfrmMain.PrepareInterfaceAF;
1816
1823
chFittingProgress.BottomAxis.Minimum := 0 ;
1817
1824
chFittingProgress.BottomAxis.Maximum := FFitParams.NMax;
1818
1825
chFittingProgress.BottomAxis.Minimum := -1 ;
1819
- chFittingProgress.LeftAxis.Minimum := FFitParams.Tolerance / 5 ;
1826
+ // chFittingProgress.LeftAxis.Minimum := FFitParams.Tolerance / 5;
1820
1827
end ;
1821
1828
1822
1829
function TfrmMain.PrepareCalc : Boolean;
@@ -2026,7 +2033,9 @@ procedure TfrmMain.RecoverProjectTree(const ActiveID: Integer);
2026
2033
end ;
2027
2034
2028
2035
Structure.FromString(Project.ActiveModel.Data);
2029
- Structure.EnablePairing;
2036
+ // if cbTreatPeriodic.Checked then
2037
+ // Structure.EnablePairing;
2038
+ Structure.PeriodicMode := not cbTreatPeriodic.Checked;
2030
2039
end ;
2031
2040
2032
2041
procedure TfrmMain.ResultCopyExecute (Sender: TObject);
@@ -2430,6 +2439,11 @@ procedure TfrmMain.CreateDefaultProject;
2430
2439
Project.LinkedData := nil ;
2431
2440
end ;
2432
2441
2442
+ procedure TfrmMain.FormCloseQuery (Sender: TObject; var CanClose: Boolean);
2443
+ begin
2444
+ CanClose := MessageDlg(' Exit application?' , mtConfirmation, [mbYes, mbNo], 0 , mbNO) = mrYes;
2445
+ end ;
2446
+
2433
2447
procedure TfrmMain.FormCreate (Sender: TObject);
2434
2448
var
2435
2449
Value : string;
@@ -2472,6 +2486,7 @@ procedure TfrmMain.FormCreate(Sender: TObject);
2472
2486
procedure TfrmMain.FormDestroy (Sender: TObject);
2473
2487
begin
2474
2488
Project.Clear;
2489
+ FreeAndNil(Project);
2475
2490
FreeAndNil(Structure);
2476
2491
FreeAndNil(FStack);
2477
2492
FreeAndNil(Config);
@@ -2515,6 +2530,11 @@ procedure TfrmMain.cbMinLimitChange(Sender: TObject);
2515
2530
Chart.LeftAxis.Minimum := StrToFloat(cbMinLimit.Text);
2516
2531
end ;
2517
2532
2533
+ procedure TfrmMain.cbTreatPeriodicClick (Sender: TObject);
2534
+ begin
2535
+ Structure.PeriodicMode := not cbTreatPeriodic.Checked;
2536
+ end ;
2537
+
2518
2538
procedure TfrmMain.WMLayerClick (var Msg: TMessage);
2519
2539
var
2520
2540
ID, LayerID: Integer;
0 commit comments