On Sat, Mar 08, 2003 at 02:24:32AM +0100, Frank Heckenbach wrote:
(BTW, nur mal aus Interesse, was gibt `SizeOf (Text)' under FPC?
FPC: 572 GPC: 16712
Dann ist das in FPC zumindest kein einfacher Zeiger (und klingt fast danach, als ob es auch einen Buffer enthält).
Wenn man die interne Struktur kennt (die kann man natürlich dem Quellcode (Compiler und/oder RTL) entnehmen), kann man sich überlegen, ob es beim Kopieren zu Problemen kommen kann. Ich vermute ja (zumindest wäre es in BP's und GPC's Fall so), aber ich will ihnen nichts unterstellen und habe selbst auch keine große Lust, das näher zu untersuchen.
Ja, du hast recht. Es dürfte zu Problemen kommen.
Die haben einen internen Buffer, der aber nachträglich noch auf einen anderen Bereich gesetzt werden kann.
| const | TextRecNameLength = 256; | TextRecBufSize = 256; |type | TextBuf = array[0..TextRecBufSize-1] of char; | TextRec = Packed Record | Handle, | Mode, | bufsize, | _private, | bufpos, | bufend : longint; | bufptr : ^textbuf; | openfunc, | inoutfunc, | flushfunc, | closefunc : pointer; | UserData : array[1..16] of byte; | name : array[0..textrecnamelength-1] of char; | buffer : textbuf; | End;