Criar um atributo BLOB num objecto

Tradução automática de Deepl

Com a introdução de classes no ambiente 4D, a necessidade de armazenar os seus dados em objectos, e especialmente em blobs, tem aumentado. É por isso que 4D v19 R2 lhe permite encapsular os blobs em objectos.

Para além do aspecto do armazenamento, uma vez que o objecto blobs é um tipo de referência, o seu desempenho em termos de ocupação de memória e velocidade será grandemente melhorado.

Pode agora atribuir um blob como atributo de um objecto, como faz para números, texto, ou outros tipos:

$o:=New object("blob"; $blob)

ou por conversão implícita:

$o:=New object
$o .blob:=$blob

ou com um objecto partilhado:

$sObj:=New shared object("blob"; $blob)

Em muitos casos, é melhor usar um objecto blob (tipo 4D.Blob) em vez de um tipo Blob. Por exemplo, quando se passa um objecto Blob num método ou num parâmetro de comando, este não é duplicado como um tipo Blob, mas passado por referência, tal como qualquer outro objecto 4D. Isto é mais rápido e consome menos memória:

var $blobObj : Object

// Download your MIME in a blob object
$blobObj :=IMAP_transporter.getMIMEAsBlob ( $msgID )

// The BLOB object is then passed to the AddToArchives method by reference.
AddToArchives ($blobObj)
// Unlike when you pass a Blob type, the blob is not duplicated when handled using a blob object.

Mas o tipo padrão de Blob não é depreciado. Cada tipo de bolha tem as suas vantagens. Utilize a tabela seguinte para determinar qual deles se adapta às suas necessidades:

Blob 4D.Blob
Alterável Sim Não
Partilhável em objectos e colecções Não Sim
Aprovado por referência* Não Sim
Desempenho ao aceder aos bytes +
Tamanho máximo 2GB* Memória

*Este limite de tamanho pode ser inferior dependendo do seu sistema operativo e de quanto espaço está disponível.

Consulte a documentação para saber mais sobre este novo tipo de atributo!

Agora que os blobs são geridos em objectos, há apenas mais um passo para que seja gerido em ORDA. Fique atento!

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.