2017-05-21 1 views
-1

Quand je déclare une variable comme ceci:identificateur non déclaré (TBlobStream)

Var Stream : TBlobStream; 

Je reçois une erreur:

identificateur non déclaré

Alors, quel est le problème? Comment puis-je resoudre ceci?

+0

@DownVoter Pouvez-vous me dire s'il vous plaît pourquoi le downvote? au moins laisser un commentaire, ma question n'est pas claire ou quoi? – Sami

+0

Dans un commentaire sur vous q aujourd'hui que vous avez effacé, la raison pour laquelle Delphi ne trouve pas DBTables.Pas est que c'est une des unités BDE qui n'est plus installée par défaut, vous devez le faire manuellement. – MartynA

+0

@MartynA Mais il semble improbable que Sami utilise BDE et donc ce ne sera pas très utile je suppose. –

Répondre

1

Vous pouvez utiliser la classe abstraite TStream ici. C'est exactement ce que la méthode CreateBlobStream retourne.

2

Vous ne déclarez pas une variable de ce type.

Vous appelez, par exemple, CreateBlobStream sur un ensemble de données, puis lire ou d'écrire avec ce flux.

Notez que CreateBlobStream a le type de retour de TStream. C'est la classe de base abstraite pour tous les flux. Le type d'exécution réel sera une classe dérivée concrète, mais n'a pas besoin de connaître le type d'exécution réel pour l'utiliser. De cette façon, vous êtes isolé des détails d'implémentation.

Vous devez donc déclarer une variable locale de type TStream et affecter la valeur renvoyée par CreateBlobStream à cette variable. Les faits de poissons par exemple la démonstration: http://docwiki.embarcadero.com/CodeExamples/en/FishFacts_(Delphi)