Actually, based on that article a:='abcdefghi' should assign 10 bytes and include the zero byte at the end. But I wonder if the problem is due to where this data is stored and trying to copy b to a results in an attempt to write to protected memory?
Have you tried allocating 10 bytes of memory to 'a' and then using StrCopy? Have you run the debugger and checked where the PChars 'a' and 'b' are pointing to before StrCopy? -------- Original message -------- From: Ross Levis <[email protected]> Date: To: 'NZ Borland Developers Group - Delphi List' <[email protected]> Subject: Re: [DUG] StrCopy problem Doesn’t really help. a := 'abcdefghi' does allocate 9 bytes of RAM. I can access a and b after it is assigned. The problem is StrCopy crashes. I would expect “a” to have the same string as b once this is executed. Ross. From: [email protected] [mailto:[email protected]] On Behalf Of Keith Allpress Sent: Sunday, 12 May 2013 10:27 AM To: 'NZ Borland Developers Group - Delphi List' Subject: Re: [DUG] StrCopy problem Perhaps: http://rvelthuis.de/articles/articles-pchars.html From: [email protected] [mailto:[email protected]] On Behalf Of Ross Levis Sent: Sunday, 12 May 2013 2:39 a.m. To: 'NZ Borland Developers Group - Delphi List' Subject: [DUG] StrCopy problem var a: pChar; b: pChar; begin a := 'abcdefghi'; b := 'jklmnopqr'; StrCopy(a,b); end; Question: Why does this code crash?
_______________________________________________ NZ Borland Developers Group - Delphi mailing list Post: [email protected] Admin: http://delphi.org.nz/mailman/listinfo/delphi Unsubscribe: send an email to [email protected] with Subject: unsubscribe
