Promotic

SetPtr - metoda objektu PmBuffer

Popis:
Zápis ukazatele (pointeru, adresy) na jiný datový blok v podobě objektu PmBuffer.
Syntaxe:
Empty SetPtr(Long nOffset, Object oBuff, [Long nEncoding])
Parametry:
nOffset(Long) Určuje pozici zapisované hodnoty v datovém bloku.
Platí, že celá zapisovaná hodnota musí ležet uvnitř datového bloku nebo se celá položka přidává na konec datového bloku. Položka se zapíše buď celá nebo vůbec.
>= 0 - Index (v bajtech, indexováno od 0) v datovém bloku.
-2 - Celá položka se přidá na konec datového bloku. Velikost datového bloku se zvětší o zapisovanou položku.
-4 - Použije se vnitřní automatická pozice (viz vlastnost AutoOffset), která ukazuje za poslední čtenou nebo zapisovanou hodnotu.
Tato operace posune vnitřní automatickou pozici za čtenou/zapisovanou hodnotu.
Pokud se položky čtou/zapisují jedna za druhou, pak není potřeba ručně určovat pozici, ale je lepší použít toto automatické pozicování.
oBuff(Object) Datový blok v podobě objektu PmBuffer, pointer na jeho vnitřní data bude zapsán.
nEncoding[nepovinné] (Long) Způsob pořadí uložení bajtů jedné hodnoty v paměti (Little-endian/Big-endian) v datovém bloku. Little-endian a Big-endian mají navzájem opačné pořadí uložení bajtů hodnoty. Nezávisí na operáčním systému, ale na počítačové platformě.
V systému PROMOTIC (na x86 procesorech na počítačí) se používá Little-endian.
Na ARM procesorech bývá Big-endian (obvykle se používá pro komunikaci s PLC automaty). Big-endian může být vyžadován pro vyměnu dat s jiným systémem (např. PLC automat).
0 (přednastaveno) - Little-endian
1 - Big-endian
Poznámka:
Tato metoda není funkční ve Web obrazech.
Upozornění! Ukazatel má ve 32-bit velikost 4 bajtů a v 64-bit 8 bajtů. Ukazatel na vnitřní data jiného datového bloku se používá hlavně při volání metody PmaDll.CallDll. V C++ jazyce se často pracuje s ukazateli na data (adresa dat v paměti). V C++ zápisu lze ukazatel poznat podle znaku * nebo & u datového typu parametru nebo položky ve struktuře. Každý ukazatel je v datovém bloku realizován jako ukazatel na jiný datový blok.
Viz také:
- PmBuffer.GetPtr (metoda)
Příklad:
JavaScriptVyber a zkopíruj do schránky

oBuf.SetPtr(nOffset, oBuf2, 0);

Historie:
Pm9.00.07: Vytvořeno
© MICROSYS, spol. s r.o.