Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Formular im Thread neu erzeugen

  Alt 24. Jul 2015, 12:25
Wenn du befürchtest, dass der Refresh zu lange dauert, dann schau dir mal
http://www.delphipraxis.net/185749-f...-callback.html
an. Da habe ich genau so ein Szenario aufgezeigt.

Gib der Form einfach einen Service an die Hand, wo diese einfach nachfragen kann.
Delphi-Quellcode:
procedure TFooForm.GetData();
begin
  RetrieveData := True; // Kreisenden Kringel anzeigen ;o)
  FSomeService.GetFooDataByDate( FDate, FooDataCallback );
end;

procedure TFooForm.FooDataCallback( AResult: TFooData; AException: Exception; var ADispose : Boolean );
begin
  RetrieveData := False;
  if Assigned( AException ) then
    begin
      // Exception-Meldung in der Form anzeigen
      ErrorMessageLabel.Caption := AException.Message;
    end
  else
    begin
      ErrorMessageLabel.Caption := '';
      PresentFooData( AResult ); // Daten im Formular anzeigen lassen
    end;
end;
Ob diese Daten vom Service jetzt im Thread oder nicht geholt werden, entscheidet der Service bzw. die Implementierung des Services. Der Form ist es so egal wie das dort bewerkstelligt wird.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (24. Jul 2015 um 12:27 Uhr)
  Mit Zitat antworten Zitat