Creare un attributo BLOB in un oggetto

Tradotto automaticamente da Deepl

Con l’introduzione delle classi nell’ambiente 4D, è aumentata la necessità di memorizzare i dati in oggetti e soprattutto in blob. Ecco perché 4D v19 R2 consente di incapsulare i blob negli oggetti.

Oltre all’aspetto della memorizzazione, poiché l’oggetto blob è un tipo di riferimento, le prestazioni in termini di occupazione di memoria e di velocità saranno notevolmente migliorate.

È ora possibile assegnare un blob come attributo di un oggetto, come si fa per i numeri, il testo o altri tipi:

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

o tramite conversione implicita:

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

o con un oggetto condiviso:

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

In molti casi, è meglio usare un oggetto blob (tipo 4D.Blob) invece di un tipo Blob. Ad esempio, quando si passa un oggetto blob in un metodo o in un parametro di comando, non viene duplicato come un tipo Blob, ma viene passato per riferimento, proprio come qualsiasi altro oggetto 4D. Questo è più veloce e richiede meno memoria:

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.

Ma il tipo Blob standard non è deprecato. Ogni tipo di blob ha i suoi vantaggi. Usare la seguente tabella per determinare quale sia quello più adatto alle proprie esigenze:

Blob 4D.Blob
Alterabile No
Condivisibile in oggetti e collezioni No
Passato per riferimento* No
Prestazioni durante l’accesso ai byte +
Dimensione massima 2GB* Memoria

*Questo limite di dimensione può essere inferiore a seconda del sistema operativo e dello spazio disponibile.

Consultate la documentazione per saperne di più su questo nuovo tipo di attributo!

Ora che i blob sono gestiti negli oggetti, manca solo un passaggio per la loro gestione in ORDA. Restate sintonizzati!

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.