123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- { %opt=-gh }
- {$ifdef go32v2}
- {$define USE_INTERNAL_UNICODE}
- {$endif}
- {$ifdef USE_INTERNAL_UNICODE}
- {$define USE_FPWIDESTRING_UNIT}
- {$define USE_UNICODEDUCET_UNIT}
- {$define USE_CPALL_UNIT}
- {$endif}
- program outpar;
- {$ifdef FPC}{$mode objfpc}{$h+}{$endif}
- {$ifdef mswindows}{$apptype console}{$endif}
- uses
- {$ifdef FPC}
- {$ifdef unix}
- cthreads,
- {$ifndef USE_INTERNAL_UNICODE}
- {$ifdef darwin}iosxwstr{$else}cwstring{$endif},
- {$endif ndef USE_INTERNAL_UNICODE}
- {$endif}
- {$endif}
- {$ifdef USE_UNICODEDUCET_UNIT}
- unicodeducet,
- {$endif}
- {$ifdef USE_FPWIDESTRING_UNIT}
- fpwidestring,
- {$endif}
- {$ifdef USE_CPALL_UNIT}
- cpall,
- {$endif}
- sysutils;
- {$ifndef FPC}
- type
- sizeint = integer;
- psizeint = ^sizeint;
- {$endif}
- procedure testproc(out str);
- begin
- ansistring(str):= '';
- end;
- var
- str1,str2: ansistring;
- begin
- setlength(str1,5);
- move('abcde',str1[1],5);
- str2:= str1;
- testproc(str2);
- if StringRefCount(str1) <> 1 then
- Halt(1);
- if str1<>'abcde' then
- Halt(2);
- end.
|