> but I see what hapened
> Whe should decide about buffer alignment
> I can use "packed record" instead of "record" then data are as is
> But what is your buffer alignment when you fill data in that record?
>

>>Search for type_alignments:
>>https://github.com/FirebirdSQL/core/blob/master/src/jrd/align.h#L83
>>Adriano

This does not help
Something is wrong when i add types like
- Int64
- SmallInt

i tried all alignments Byte, Word, DWord, QWord

Bytes are exchanged before this type e.g.

pomInt=296401868 {$11AABBCC}
pomIntNULL=0
xxxInt2=296401868 {$11AABBCC}
xxxInt2NULL=870121472 {$33DD0000} <== here is exchange $33DD should be in 
iSmall
iSmall=0                          <== here are exchange
iSmallNULL=3150708736 {$BBCC0000}


if i remove iSmall and iSmallNull - all values in this record are filled ok

this is my record
  GenRowsInMessage = record
        start: Integer;
    startNULL: WordBool;
        end_: Integer;
    end_NULL: WordBool;
    d: DWORD;
    dNULL: WordBool;
    t: DWORD;
    tNULL: WordBool;
    dt: QWord;
    dtNULL: WordBool;
    pomInt: Integer;
    pomIntNULL: WordBool;
    xxxInt2: Integer;
    xxxInt2NULL: WordBool;
    iSmall: SmallInt; <==problem
    iSmallNULL: WordBool;
    start_2: Integer;
    start_2NULL: WordBool;
    end2_: Integer;
    end2_NULL: WordBool;
    //dtstrLen: SmallInt;
    dtstr: Array[0..50*4] of AnsiChar;
    dtstrNull: WordBool;
    start_3: Integer;
    start_3NULL: WordBool;
    end;

regards,
Karol Bieniaszewski 


------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to