Hallo,
was mir komisch vorkommt.
Du sprichst überall von
Ansi, hier aber benutzt du den normalen Delphi-String.
cObj :=
String(cPObj);
Und benutzt z.B. nicht deine StrLCopies, um den String zu füllen.
cObj liegt ja auf dem Stack und wird "hinter" dem
end freigegeben.
Was dann mit cPObj ist, mag ich mir gerade nicht ausdenken ...