Tags
Forum
Artikler
Brugere
Stil spørgsmål
1
online
Login
Husk mig
Longint optager 6 bytes
Tags:
delphi
Bruger #4912
@ 24.08.04 22:59
25
Hej
Jeg har en record, der ser ud som følger:
TRCat=record
Name:string[20];
Pos0,Pos1:string[8];
Owner:string[20];
Date:longint;
Bands:word;
end;
Jeg har en gammel typed file, der er skrevet med ovenstående record i TP7 og derved er størrelsen 66 bytes. Helt efter bogen.
Men laver jeg præcis den samme record i Delphi 7 så er størrelsen 68 bytes. Problemet synes at ligge omkring Cat.Date, der burde være en 4-bytes sag, men når den er inde i Cat-recorde'n så fylder den 6 bytes! Checker jeg Cat.Date med SizeOf så er den kun 4 bytes.
Hvad kan jeg gøre galt for i både TP7 og Delphi 7 burde resultatet være 66 bytes.
På forhånd tak
Mik
2
svar postet i denne tråd vises herunder
1
indlæg har modtaget i alt
1
karma
Sorter efter stemmer
Sorter efter dato
1
Bruger #782
@ 25.08.04 06:39
291
hvis du laver din record om til en packed record får du præcis 66 bytes. helt efter bogen
jeg mener det er noget med at en packed record er det samme som en tp-record
Jeppe Johansen
Jeppesoftware@hotmail.com
0
Bruger #4912
@ 25.08.04 09:17
25
Hej Jeppe
Jeg har prøvet med "Record Field Alignment" sat til 1, svarende til {$A-}, og så får jeg som du også skriver 66 bytes, i stedet for de 68 bytes (RFA=8, $A+). Så dit svar virker.
Jeg forstår godt RFA-princippet og fordelene i hukommelsen. Men umiddelbart synes jeg, at det er noget bras når det vedrører en fil som man, måske, ikke kender om den er lavet med RFA og fra hvilket program. I mine øjne burde en fil være 100% tro mod de grundlæggende byte-størrelser.
Tak for hjælpen
Mik
Karma barometer (30 dage)
Modtaget
Givet
X
Favorit hos
Forum tråde
Artikler
Tilføj til dine favorit tags
Fjern fra dine favorit tags