[fpc-pascal]Pointer Help

Anton Tichawa anton.tichawa at chello.at
Sun Feb 9 14:22:55 CET 2003


Hello, James!

I found an error at GetMem / ReAllocMem: Your code:

  getMem(tmpStrings, 100);
  {reAllocMem(tmpStrings, (I + 1));}

reserves 100 or (I + 1) BYTES, but you need space for 100 or (I + 1) 
STRINGS, i. e. the code should be:

  getMem(tmpStrings, SizeOf(String) * 100);
  {reAllocMem(tmpStrings, SizeOf(String) * (I + 1));}

Even then, I don't know if fpc behaves correctly converning deallocation when 
<String> defaults to <AnsiString>. Maybe somebody else can respond to this?

Another note: Please replace tabulators by spaces when posting code.

Hope this Helps.

Anton Tichawa.



On Sunday 09 February 2003 11:30, you wrote:
> Hi all,
>
> Sorry if this is trivial, but I'm sick of it :)
> I'm using fpc to convert my (originally delphi) code to read and write
> ini style files, however writing will not work as I want, the data in
> the pointer keeps getting filled with junk.
>
> I'm using getMem, and reAllocMem functions to create dynamic arrays of
> strings. The writeINI function reads the entire file in, but doesn't
> even do that correctly.
>
> I have a test program that uses the same idea, and it works perfectly,
> so I'm very bewildered :(
>
> attached is the code if someone would like to have a look at it, please.
>
> thank you
> James



----------

"Adas Methode war, wie sich zeigen wird, Tagträume in offenbar korrekte 
Berechnungen einzuweben."

Doris Langley Moore: Ada, Countess of Lovelace (London 1977).

----------

Anton Tichawa
Volkertstrasse 19 / 20
A-1020 Wien
mobil: +43 664 52 07 907
email: anton.tichawa at chello.at

----------



More information about the fpc-pascal mailing list