Перейти к содержанию
Fire Monkey от А до Я

Vinício Rocha

Пользователи
  • Постов

    2
  • Зарегистрирован

  • Посещение

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

Достижения Vinício Rocha

  1. Did you try that? TThread.Synchronize(nil, procedure begin ShowMessage('Your Message'); end);
  2. Good Morning, Using TfgActivityDialog on iOS when finalizing the thread often returns this error. Here is the code snippet: if not TabGlobal.dlgAguarde.IsShown then begin FDialogThread := TThread.CreateAnonymousThread(procedure begin try TThread.Synchronize(nil, procedure begin TabGlobal.dlgAguarde.Message := 'Salvando informações.'; TabGlobal.dlgAguarde.Show; end); try CM2 := TCM2.Create(nil); Lista := TFDJSONDataSets.Create; TabGlobal.QryDetalheMembro.Post; TFDJSONDataSetsWriter.ListAdd(Lista, 'membros', TabGlobal.QryDetalheMembro); Codigomembro := CM2.SMClient.AtualizaInformacoesMembro2(iEdicao,iCelula,Lista); if iEdicao = 'I' then begin TabGlobal.QryDetalheMembro.Edit; TabGlobal.QryDetalheMembromem_codigo.Value := Codigomembro; TabGlobal.QryDetalheMembro.Post; if iCelula > 0 then begin with TabGlobal.QryComando do begin Active := False; SQL.Clear; SQL.Add('insert into celulasdiscipulos'); SQL.Add('(cel_codigo, cel_item, mem_codigo)'); SQL.Add('values'); SQL.Add('(:cel_codigo, :cel_item, :mem_codigo)'); ParamByName('cel_codigo').AsInteger := iCelula; ParamByName('cel_item').AsInteger := RetornaAutoIncremento('celulasdiscipulos','cel_item','cel_codigo = '+ IntToStr(iCelula),1); ParamByName('mem_codigo').AsInteger := Codigomembro; ExecSQL; end; {$IF DEFINED(ANDROID)} FiltraCelulasMembros(iCelula,''); {$ENDIF} end; end; with TabGlobal.QryComando do begin Active := False; SQL.Clear; SQL.Add('update membros set'); SQL.Add('mem_batizado = "'+Copy(cmbBATIZADO.Items[cmbBATIZADO.ItemIndex],1,1)+'",'); SQL.Add('mem_fezencontro = "'+Copy(cmbFEZENCONTRO.Items[cmbFEZENCONTRO.ItemIndex],1,1)+'",'); SQL.Add('mem_fezclassebatismo = "'+Copy(cmbCURSOBATISMO.Items[cmbCURSOBATISMO.ItemIndex],1,1)+'",'); SQL.Add('mem_fezescoladelideres = "'+Copy(cmbCURSOLIDERES.Items[cmbCURSOLIDERES.ItemIndex],1,1)+'",'); SQL.Add('mem_fezcursosupervisao = "'+Copy(cmbCURSOSUPERVISORES.Items[cmbCURSOSUPERVISORES.ItemIndex],1,1)+'",'); SQL.Add('mem_fezcursoobreiro = "'+Copy(cmbCURSOOBREIROS.Items[cmbCURSOOBREIROS.ItemIndex],1,1)+'",'); SQL.Add('mem_fezcursoteologia = "'+Copy(cmbCURSOTEOLOGIA.Items[cmbCURSOTEOLOGIA.ItemIndex],1,1)+'",'); SQL.Add('mem_consolidacao1 = "'+Copy(cmbCONSOLIDACAO1.Items[cmbCONSOLIDACAO1.ItemIndex],1,1)+'",'); SQL.Add('mem_consolidacao2 = "'+Copy(cmbCONSOLIDACAO2.Items[cmbCONSOLIDACAO2.ItemIndex],1,1)+'",'); SQL.Add('mem_consolidacao3 = "'+Copy(cmbCONSOLIDACAO3.Items[cmbCONSOLIDACAO3.ItemIndex],1,1)+'",'); SQL.Add('mem_consolidacao4 = "'+Copy(cmbCONSOLIDACAO4.Items[cmbCONSOLIDACAO4.ItemIndex],1,1)+'",'); SQL.Add('mem_consolidacao5 = "'+Copy(cmbCONSOLIDACAO5.Items[cmbCONSOLIDACAO5.ItemIndex],1,1)+'"'); SQL.Add('where mem_codigo = '+IntToStr(TabGlobal.QryDetalheMembromem_codigo.Value)); ExecSQL; end; AtualizaTotalizadoresCelula(iCelula); ok := True; CM2.DisposeOf; except on E : Exception do begin CM2.DisposeOf; TThread.Synchronize(nil, procedure begin TDialogService.MessageDialog('Não foi possível salvar o membro' + sLineBreak + 'Contate a secretaria de células da sua igreja.' + sLineBreak + E.Message, TMsgDlgType.mtInformation, [TMsgDlgBtn.mbOK], TMsgDlgBtn.mbOK, 0, nil); end); end; end; finally if not TThread.CheckTerminated then TThread.Synchronize(nil, procedure begin TabGlobal.dlgAguarde.Hide; if ok then Close; end); end; end); FDialogThread.FreeOnTerminate := False; FDialogThread.Start; end; The error usually occurs when I close the form. Anyone know how to work around this error? Thank you,
×
×
  • Создать...