Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

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

AW: PDF-Dokumente in eine Datenbank oder nicht

  Alt 21. Jan 2015, 14:47
Zum Thema Dokumenten-Daten und Stream: Die kann man auch trennen. Die Meta-Daten sind idR sehr schnell verfügbar und der Stream dauert manchmal etwas länger. Also trennt man das und stellt ein Sammelobjekt zusammen.

Dieses Sammelobjekt weiß dann genau Bescheid, ob die Daten verfügbar oder angefragt sind.
Delphi-Quellcode:
TDocumentViewModel = class
public
  property IsLoading : Boolean;
  property HasData : Boolean;
  property Data : TStream;
end;
Beim ersten Zugriff auf die Eigenschaft Data sorgt das ViewModel dafür, dass die Daten (im Thread) geladen werden und setzt die Eigenschaft IsLoading auf true . Auf der Anzeige kann man das durch diesen AniIndicator darstellen (der drehende Kreis).
Hat der Thread die Daten geholt, dann wird der Eigenschaft Data der Stream gegeben und IsLoading wird wieder auf False gesetzt.
Hat der Thread keine Daten heranschaffen können, setzt man einfach HasData auf False .
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)
  Mit Zitat antworten Zitat