//--------------------------------------------------------------------------- void __fastcall TSynchronizeDialog::DoStartStop(bool Start, bool Synchronize) { if (FOnStartStop) { TSynchronizeParamType SParams = GetParams(); SParams.Options = (SParams.Options & ~(soSynchronize | soSynchronizeAsk)) | FLAGMASK(Synchronize, soSynchronize); if (Start) { DebugAssert(*FOnFeedSynchronizeError == NULL); *FOnFeedSynchronizeError = (FLAGSET(SParams.Options, soContinueOnError) ? &FeedSynchronizeError : TFeedSynchronizeError(NULL)); delete FSynchronizeOptions; FSynchronizeOptions = new TSynchronizeOptions; FOnGetOptions(SParams.Params, *FSynchronizeOptions); } else { *FOnFeedSynchronizeError = NULL; } FOnStartStop(this, Start, SParams, CopyParams, FSynchronizeOptions, DoAbort, NULL, DoLog); } }
//--------------------------------------------------------------------------- void __fastcall TSynchronizeDialog::DoStartStop(bool Start, bool Synchronize) { if (FOnStartStop) { TSynchronizeParamType SParams = GetParams(); SParams.Options = (SParams.Options & ~(soSynchronize | soSynchronizeAsk)) | FLAGMASK(Synchronize, soSynchronize); if (Start) { delete FSynchronizeOptions; FSynchronizeOptions = new TSynchronizeOptions; FOnGetOptions(SParams.Params, *FSynchronizeOptions); } FOnStartStop(this, Start, SParams, CopyParams, FSynchronizeOptions, DoAbort, NULL, DoLog); } }