Oops, those parameters for Posex were backwards:

res := PosEx('NEEDLE',mypchar,35) ;

On 6/11/2013 7:10 AM, m...@rpzdesign.com wrote:
To Marco and Jeppe:

As for 2 examples:

res := PosEx(mypchar,'NEEDLE',35) ;

res := Copy (mypchar, 10,15) ;

What are the byte boundaries here?
Zero Based from the pointer?
1 Based from the pointer?

As far as behavior, it would throw the program in unstable land over time and gdb would show worthless garbage on Backtrace with a stack that was totally upside down.

When I stumbled across these calls and cleaned them up to keep pchar and ansistring operations
clearly separate, magically, stability returned to my program.

The reason I posted this to the list is that it is my responsibility to the community to raise the chatter, even though I cannot right now produce a working sample to reproduce the bug.

I absolutely love the combination of Lazarus 1.08/FPC 2.6.2. Awesome, awesome, awesome.
My productivity just went up 10x.

And we get Mac OSX targets, IOS targets, and Android NDK targets!

Cheers,

md






je...@j-software.dk

Could you maybe describe this weird, erratic behavior?

On 6/11/2013 12:58 AM, Marco van de Voort wrote:
In our previous episode, m...@rpzdesign.com said:
Passing a Pchar gives weird, erratic behavior
Please make minimal examples in a few lines, and add them to the bugtracker.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal



_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to