Vytvoření atributu BLOB v objektu

Automaticky přeloženo z Deepl

Se zavedením tříd v prostředí 4D se zvýšila potřeba ukládat data do objektů, a zejména do blobů. Proto 4D v19 R2 umožňuje zapouzdřit bloby do objektů.

Kromě aspektu ukládání se díky tomu, že objekt blob je referenčním typem, výrazně zlepší váš výkon z hlediska obsazení paměti a rychlosti.

Nyní můžete blob přiřadit jako atribut objektu, stejně jako to děláte u čísel, textu nebo jiných typů:

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

nebo implicitní konverzí:

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

nebo pomocí sdíleného objektu:

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

V mnoha případech je lepší použít objekt blob (typ 4D.Blob) místo typu Blob. Když například předáváte objekt blob v metodě nebo parametru příkazu, není duplikován jako typ Blob, ale předává se odkazem, stejně jako jakýkoli jiný objekt 4D. To je rychlejší a méně náročné na paměť:

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.

Standardní typ Blob však není zastaralý. Každý typ blobu má své výhody. Pomocí následující tabulky určete, který z nich vyhovuje vašim potřebám:

Blob 4D.Blob
Měnitelný Ano Ne
Sdílení v objektech a kolekcích Ne Ano
Předává se odkazem* Ne Ano
Výkon při přístupu k bajtům +
Maximální velikost 2GB* Paměť

*Tento limit velikosti může být nižší v závislosti na operačním systému a na tom, kolik místa je k dispozici.

Více informací o tomto novém typu atributu najdete v dokumentaci!

Nyní, když jsou bloby spravovány v objektech, zbývá už jen jeden krok k tomu, aby byly spravovány v ORDA. Zůstaňte naladěni!

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se připojil k týmu 4D Program v listopadu 2016. Jako Product Owner má na starosti psaní uživatelských příběhů, které následně převádí do funkčních specifikací. Jeho úkolem je také zajistit, aby dodaná implementace funkcí splňovala potřeby zákazníků.Po získání bakalářského titulu v oboru informatiky na CNAM nastoupil Fabrice do malé softwarové vydavatelské společnosti jako vývojář Windev. Poté pracoval pro různé společnosti v oblasti průmyslu a obchodu jako vývojář aplikací Windev a webových aplikací a také jako technický poradce pro nové funkce.